The next crisis in software will be alienation. It’s a hallmark of climbing up a layer of abstraction, and we’ve seen it before, but this layer of abstraction is a particularly big one.

Alienation is a weird, weird feeling: you create something, it’s your idea, your name’s on it… but it doesn’t feel like yours. Try out a Wiggums loop: Commits roll in, your avatar is next to them, but the code is alien!

Mo Bitar’s video on being useless brought this problem into focus for me. He says there’s no learning in agentic coding: you put a coin in the slot machine, pull the lever, and out comes an app! But there’s no artistic achievement in the process. What’s so great about this brave new world?

People who aren’t software developers won’t understand this problem well. We talk about software as an engineering process, but it’s also an artistic process. There’s a great deal of joy to be found in writing elegant and effective code. It’s not art for its own sake, either: elegant abstractions have economic ramifications. Great art in software means fewer bugs, less liability, and more agility in responding to market conditions.

To step outside the world of software, consider the Andon cord in the Toyota Production System. The Andon cord, which allows any frontline worker to halt an assembly line if they spot a defect which can’t be fixed quickly, is a key anti-alienation tactic. It’s widely considered the key to Toyota’s rise to global dominance.

Agentic coding is a vector of alienation. We need to be aware of the risk and work to counteract it - but how? I think the answer lies, in part, in response to the closing question in Mo’s video. What’s so great about agentic coding?

My answer: agentic coding can be an enormous enabler; it is not just about doing the same things you were doing before, but faster. It’s about doing new things that you didn’t realize were possible. Laura Tacho’s research, which shows that AI can cut “time to 10th PR” in half, is illuminating. Agentic coding makes it easier for engineers to ramp up in a new code base. That’s incredibly exciting: we explore new languages, frameworks, and paradigms by writing code and shipping it. The doors for exploration are now open wide!

There is a great deal more to learn, but it’s of a different quality than before. I used to enjoy writing API clients - it’s fun to see a 200 OK response! - but that is becoming a thing of the past. Now I’m learning to re-examine my notion of what’s possible, in a way that is both fun and bewildering. Simon Willison’s guidance that we should be scaling up ambitions is telling.

Artistic achievement in agentic coding is still possible, but it requires a different mindset and greater ownership of the process. Beyond “shifting left” into writing specs, software engineers need to be empowered to explore and own the problem space they inhabit.

Also find this post on LinkedIn!