In business, life, and combat—those who adapt more quickly—win. Adaptation looks a bit like a loop—notice, adjust, measure, repeat.
Agile beat Waterfall as the industry standard because taking years to plan and build your software project before finally putting it in front of your customers doesn't work. Reality is unpredictable and being slow to change is maladaptive.
What many well-meaning software engineers miss in the discussion of AI-assisted software creation is that this is an Agile-beats-Waterfall moment for the creation of code. The company who iterates faster wins, even if their code isn't as pretty. If 60% of your software development time is compressed to 30%, you complete more loops. More loops means happier customers. Ironically, using AI to speed up software creation means you have more time for the most important element of business—humans.
Some developers object to all AI-produced code, arguing that AI can only write slop and it is unworthy of a production—our sacred citadel—that bea... Oh shit, what's going on? Production is down? What happened? WHO LET TONY PUSH AT 3PM ON A FRIDAY?
...
Ahem. Where was I?
...
It is with great discomfort that I admit that I—like most software developers—labor over the beauty of my codebase the way a writer labors over the soul of their essay.
Yet I've come to admit that the beauty of my codebase, it's elegance, does not matter1. We're not building human artifacts for human consumption, the way a writer does. We're building machine artifacts for machine consumption (and yes, the final output is for human consumption, but—see above—that's the human element.)
Somewhat ironically, LLMs are less fit to produce an essay than they are fit to write code.
Our craft is not dying, but it is evolving. We who, for so long, have kept the cherished tradition of writing code by hand are not dying either, but we must adapt. We must iterate.
-
It is not merely by gleefully ignoring things that I've come to this conclusion. This is an essay for another day, but I've become convinced that hand-written code simply isn't as effective, in nearly any way you could define that, outside of programming fields that are not my subject of expertise. ↩