There’s a version of the AI-in-software conversation that’s exhausting to be near. It’s the one where AI either replaces all of us by Thursday or is a useless toy that can’t center a div. Neither has matched what I actually see shipping software every day.
Here’s the frame I keep coming back to: AI is a force multiplier. It doesn’t replace the engineer. It multiplies one. And multipliers are unforgiving — they scale whatever you point them at. Point a multiplier at clear thinking and good judgment and you get leverage. Point it at confusion and you get confusion, faster, with more confidence and worse formatting.
Problem-first, always
The single biggest predictor of whether AI helps or hurts on a task is whether the problem was actually understood before the prompt was written. I’ve watched well-meaning engineers generate a thousand lines of plausible code for a problem that, on inspection, didn’t need code at all. The model did exactly what it was told. The telling was the bug.
So the discipline doesn’t change. Understand the problem. Find the smallest thing that solves it. Then reach for the multiplier — to go faster on the part you already understand, not to outsource the understanding.
Where it actually helps
In practice, AI earns its keep in the boring middle: the second draft, the test scaffold, the migration nobody wants to do by hand, the unfamiliar API you’d otherwise spend an afternoon spelunking. It’s a phenomenal accelerator for work you could do but would rather not spend the hours on.
Where it falls down is exactly where you’d expect: novel architecture, anything load-bearing, anything where being subtly wrong is worse than being slow. Those are still yours.
Maintainable or it doesn’t count
The trap with a multiplier is volume. It is now trivial to produce more code than you can responsibly own. If the work isn’t maintainable by the team after you’re gone, the multiplier didn’t make you faster — it made you a liability with great velocity metrics.
I’ve shipped a live SaaS, published games, and run autonomous pipelines this way. None of it worked because the AI was magic. It worked because the problem was clear, the scope was small, and someone with judgment stayed in the loop the whole time.
That someone is the job. The multiplier just makes the job bigger.