The discourse about AI coding assistants has two settled camps: “it’s magic and programmers are finished” and “it’s a fancy autocomplete that lies.” Both camps are describing real experiences. They’re just using the tool on different problems. After enough hours pairing with these things, the pattern of where they shine and where they faceplant is pretty clear.
Where It’s Genuinely Great
The blank page. Going from nothing to a working skeleton — a service, a script, a config — used to be an afternoon of docs and boilerplate. It’s now minutes. The blank-page tax has been all but abolished, and this alone changes which projects are worth starting.
Unfamiliar territory. The AI has read every man page you haven’t. New language, new framework, an API you touch once a year — it collapses the lookup time and hands you idiomatic patterns instead of your first guess.
The boring parts. Test scaffolding, migrations, format conversions, “make this same change in eleven places.” Tireless, fast, and it never gets sloppy on repetition the way humans do.
Rubber-ducking that talks back. Explaining a bug to an AI works like explaining it to a colleague, except the duck occasionally says “have you checked the timezone handling?” and is right.
Where It Falls Over
Your context. It doesn’t know that the staging box is weird, that the legacy service can’t handle the obvious fix, or that you tried this approach in March and it burned you. Unless you tell it — every time, or through some memory system you maintain — it optimizes for a codebase that exists only in its head.
Confident wrongness. The failure mode is never “I don’t know.” It’s a plausible answer delivered in the same tone as a correct one. The skill of working with AI is mostly the skill of knowing which claims to verify.
Taste. It will happily produce the over-engineered version, the under-engineered version, or the version with three abstractions nobody asked for. Deciding what good looks like is still your job, and reviewing generated code is now a bigger share of the craft than writing it.
The Actual Division of Labor
The tool moves the bottleneck. Typing speed and API recall stop mattering; judgment, verification, and knowing your own systems matter more than ever. That’s not “programmers are finished.” That’s programming with the tedious parts amputated — which, if you like the interesting parts, is the best trade the profession has been offered in decades.