Kent Danielsson retweetledi

You must fall in love with outcomes, not abstractions.
This very raw, very thoughtful video from Mo is worth a watch in full. Much of it resonates, and I feel and have felt a lot of the dissonance he talks about. Here's how I'm thinking about things of late.
----
One of my many side quests in life is being an aspiring woodworker. I've made most of the furniture in our house, and my latest piece was a media console for our den.
Woodworking has a lot of parallels to software. You work with raw materials, modify and assemble them, and ultimately deliver some output that is more valuable than it's constituent parts.
Like software, there are many ways to build furniture. You can do it entirely with hand tools, no electricity at all.
Or, you can do it with entirely 'fake' wood and mechanical fasteners to just assemble something like IKEA.
I think there is value in knowing all of the points along the way; I have taken raw lumber, milled it by hand, planed it, jointed it, and transformed it from a tree to something resembling 2x4s you'd see at your local home center.
You learn a respect for the material, an appreciate for how furniture was built, and develop a certain intuition.
But if your goal is to build beautiful, heirloom quality furniture, and your constraints are that this is not your full-time job or hobby, there are much better abstractions available.
You can by lumber that is already surfaced and dimensioned. You can use tablesaws and jointers and routers to aid you in more quickly cutting and shaping the wood into your desired form.
You can select hardwood for key parts of a build, or use cabinet grade plywood strategically to help speed things up.
These are all abstractions.
Different ways of accomplishing a task to achieve an outcome.
In my own woodworking practice, I have found a happy medium somewhere between 'hand tools only' and 'IKEA'. I make liberal use of power tools. But I also, because I am saving time, can achieve a higher end result by focusing on a better outcome and quality bar.
It also, most importantly, makes this accessible to me. There's a running bit in woodworking communities that it's the perfect hobby for an old retiree. Partly cost, partly time. But with more modern abstractions, I (a very non-retired person) can participate and bring to life my own creations.
I think of LLMs and coding agents in a similar way.
They are the latest in a series of powerful abstractions that afford convenience and accessibility when it comes to those who make software. They are extremely powerful, far more than the abstractions of yesteryear.
But at the end of the day, that's all they are.
If the outcome you love and value is a world-class user experience, they are but one of many tools to help you get there.
They are great for a good many things, but they aren't a complete answer (at least not yet). You cannot "make no mistakes" your way to a beloved, soulful, inspiring product that people talk about and smile at. You have to use the tools to achieve that outcome.
And much like woodworking, there are still some things I or we all might prefer to do by 'hand'.
I like to break my corners with a handplane still, in most cases.
I could do this with a router, but there's something about the connection and feel that I want to have, if for nothing else than my own desire.
I would never want an LLM to have the final say when it comes to the details of my interface; I want to use abstractions to more quickly allow me to focus on that, and do it 'by hand.'
So all of that is to say: I think it's important to fall in love with the outcome of whatever it is you are trying to create, and view abstractions simply as tools to help you get there.
That way, you can pick and choose how they will serve you without losing yourself to them.



Mo@atmoio
I was a 10x engineer. Now I'm useless.
English


























