You Can’t Build Better Software Without Reordering Status
“AI Adoption rhymes with Agile transformation” is one of those delightful phrases that sounds brilliant when you read it, then empty a moment later. One you should discard without a second thought. I couldn’t do that; I kept thinking about it.
Both got fed through every marketing team in the industry and came out as useless buzzwords. That’s not what stuck with me. What stuck is that they’re trying to solve the same problem. There’s a gap between what someone wants software to do and what it actually does. We’ve been chasing that gap since the beginning. Every methodology, every tool, every “revolution” in how we build aimed at closing a gap we’ve never managed to close.
A leader I worked with once asked why upgrading the trading system his business depended on was orders of magnitude harder than swapping in a new floppy disk. He knew it was more complex than that. He just had no frame to grasp its complexity. He’d never been expected to, and the people who could have taught him had no incentive to make their work seem more ordinary. That’s the gap that kills the advances promised by every failed change.
I don’t think we want to close this gap. It’s built up two strong constituencies by preserving and assigning status. Builders used the gap to create scarcity that gave our skills status above other knowledge work. Users preserved their own status by keeping software as a specialized domain that served them without displacing them. Both learned to blame the other for the problems the gap created.
This gap served a purpose for a while. The first programmers to solve business problems had a unique skill. Computers were new and only encountered at work. It made sense to specialize then. It doesn’t now that we engage with software more than with each other. The gap was useful for so long that it became structural. This structure is the reason leaders keep buying promises about software becoming easier. They’re too far from the work to evaluate those claims.
My favorite example of how we enforce this distance is large organizations that treat software as a cost center. The technology folks in these organizations position themselves in service to a larger organization with neither interest in nor understanding of their work. Keeping that distance intact reinforces their status. What the people in technology miss is that all their frustrations with “The Business” play to both sides: they mark status inside the tribe while confirming a lack of status outside it. They diminish themselves.
I don’t know about you, but if the work I’m doing isn’t part of the business my organization is in, I don’t want to be there.
I benefited from a reordering of status that centered developers. It was best articulated in The New Kingmakers, which called for companies to treat attracting and maintaining top technical talent as a core strategy. That’s the status inversion the internet, mobile, and cloud created. In weak moments, the nerdy kid inside me has relished the schadenfreude of a multi-decade revenge of the nerds.
I could get riled up by all the posts in my feed stoking fears of a “white-collar apocalypse” as agents erode the status I came into. Instead I’m an enthusiastic participant in this pending inversion. I didn’t build the models or the harnesses. But I put AI agents to work, professionally and in my personal life. If you get me started talking about it, I won’t shut up.
The rise of developers was never a story about “code”. We all got that wrong. Not just the parents and pundits telling kids to learn to code, but us too. My feed splits between posts stoking existential dread and hot takes about why builders still matter. That’s the gut reaction to code getting cheaper. It threatens status, and even identity itself.
That gets the sorting all wrong. I’ve always known how to judge a good developer from a bad one. The people I turned to for help made the right calls on security, scale, user experience, and performance. None of it was about “code”. We fell into the same trap anyway: assigning status based on outputs like tight code and algorithmic cleverness. We let our internal status game drift until we rewarded what looked like mastery instead of solid delivery. That’s why we’re afraid of the devaluing of code.
Coding agents have revealed to outsiders what we’ve always understood: being able to type the right characters in the right order was never a differentiator. We did need people whose primary ability was producing “good enough” code for a while. Imagine being the only person in your company who speaks Czech when a potential customer from Prague comes calling. You have the right skill for the moment and you take advantage. Code wranglers had the same advantage while software was eating the world. They gained fluency when fluency had value.
Today it doesn’t.
Those who mythologized “code” and thought they were paying for syntax now want to think builders are commoditized too. Seems right, if you were paying for the work of typing in code. But you never were (were you?)—you were paying for outcomes. That’s why it was seductive every time someone told you they could close the gap between intent and implementation.
If you started as a builder like me, this latest reordering feels personal. Don’t let that stop you. You need to commit to how the new order affects the way you lead, decide, and make sense of things. Accept that power and status are shifting away from your tribe. That’s the choice: throw agents into the old order of prestige and status and hit the same failure modes faster, or accept the reordering and build organizations that don’t need the gap.
People on both sides of the gap have always known how to bridge it. Some builders quickly grasped intent and translated it into faithful implementation. Others from outside the ranks of builders understood which problems were best addressed with technical solutions. Putting agents in their hands offers us more than just a chance to bridge the gap.
We can bury it. The question is whether we’ll have the humility to do it.