Struggle Creates Value
I've written about “writing the software isn’t the hard part operating it is” before. Today, I think we can say the popularity and success of LLMs generating code is proving the first part of the statement. When we see everyone's hackles raise because of the consequences of this fact, I think it validates the second part of the statement.
But I want to draw another through-line that has been weighing on me. Many people expect massive productivity gains. While some folks are claiming they have these gains, in general, we haven't seen it writ large. And we haven't seen paying customers clamoring for more software with their wallets open.
I also spent some time thinking about Pope Leo's Magnifica humanitas. I don't come at the text from a relgious perspective, but from a humanities and philosophical perspective; as a useful piece of commentary from a long and storied tradition with many of its own problems, but nonetheless has something valuable to contribute to humanity.
The through line I want to talk about is our behavior before we write the software.
There is a influential strain of AI advocacy, whether it is advertisements telling you not to hire people and just buy AI, or the Altmans of the world declaring the end of labor as we know it, that is deeply anti-human. This worries me. This kind of behavior is taking their beliefs to their logical end. But, even if you don't go that far, there is some destructive behavior I don't want to see.
I can see a world in which teams become even more silo'd. They come together for the simple conversation of what we're going to try and build. Then everyone using their magical genies produces what they believe ought to exist. Designers having Figma LLMs construct working software, and Product Managers vibe-coding their version, and Engineers competing with their own agentic systems. Spending all those tokens to make three versions of something that should have been built together.
There is plenty of evidence where an LLM can be a pure sycophant. A digital yes-man at your beck and call. It's a social phenomenon that has always existed that breaks down critical thinking and gives us the option to push responsbility elsewhere, rather than take it on and wrestle with it. There seems to be a very real "just give me an agent and leave me alone to conquer the project" sentiment out there.
In practice, however, technology is never neutral, because it takes on the characteristics of those who devise, finance, regulate and use it. Therefore, the primary choice is not between a ‘yes’ or ‘no’ to technology, but rather between constructing Babel or rebuilding Jerusalem; between a power that claims to dominate the heavens and a people who work together...to rebuild the walls of fraternal coexistence. - Magnifica humanitas p9
I don't want this technology to fully removal struggle. I'm not here to suffer for the sake of suffering. We create tools to make the job easier. The other week I had some tree limbs to cut. My chainsaw was in pieces, so I grabbed the axe. After about 15 minutes I was huffing and puffing with only a few full cuts made. I stopped and put in the time to put the chainsaw back together. So much easier.
In my career all the hours I spent in deep focus at the keyboard was to construct working systems which retained optionality that people could understand and build on top of. That was a struggle, and there was value in the struggle because it produced understaning of how the system works. I don't know how juniors are going to build those muscles today.
When you've got your head down in this work you inevitably reach a point where you need to go back to the team. Its a discovery, a question, a limit, a realization, a road block, something. Your attempt to get where you want to be meets the reality of what already exists is when the real work happens. That discussion in the team creates value and gets you closer to your outcome.
What I want to see in teams is spending more time together. Spending more time dwelling in positive friction. Constructive conflict. If Engineers don't need their own schedule for large blocks of time alone, then it ought to be easier to work together in real time to make the system. These discussions can happen much more frequently and closer to the work.
Everything that appears as a ‘limit’ — incapacity, illness, old age, suffering, vulnerability — tends to be seen primarily as a defect to be corrected, rather than as a reality through which our humanity matures and opens itself to relationship. And yet we must remember that humanity flourishes not despite limitations, but often through them - Magnifica humanitas p118
Working together is going to be the hardest part going forward. I think it was always a really hard part--but we also had all that code to write, review, and validate, which we could focus on as engineers. As that changes the value of working well together only increases. Maybe we return to more guild-like structure from the middle ages? Maybe smaller teams that have gelled stay together longer, and move to new problems together? Maybe this is how the next generation of juniors is made into seniors? Maybe this is how Engineers learn what they are missing from less-technical folks?
The digital yes-man approach,and debating which LLM output is the one we should use going forward both attempt to skip the struggle. It avoids the hard part; answering what are we building, why, and for who, together. If we all retreat to our ultra efficient genies that remove all friction, we are going to lose. The friction, the struggle, is where the value gets created.
We aren't going to see a massive spike in productivity if we try and skip the valuable part. Value creation is not efficient. You will see a lot of output, but not valuable things people want to use. If value creation was efficient, the value would already exist, it would be completed, and there would be nothing left to do.
- ← Previous
Complexity Has To Live Somewhere