Developers aren't being replaced, but coding might be
An AI coding tool tells you it fixed the bug with exactly the same confidence whether it succeeded, moved the bug ten lines down, or changed something you weren't working on.
I've fallen for that confidence more than once.
Early on, AI coding can feel effortless. The quick wins pile up, until you reach a detail the model doesn't understand and progress turns to mud.
I've watched people, myself included, spend hours while the tool regenerates the same broken code. "I've fixed the issue," it says. You point out the remaining error. It apologizes, changes something else, and creates a new failure. Three hours later you're reverting a pile of commits and wondering why you didn't write the damn thing yourself.
That experience changed my workflow. The tool no longer gets to decide when the work is done.
The AI doesn't get to declare victory
Tests run automatically. I use subagents whose job is to check whether the original problem was actually solved, followed by a review for regressions before anything gets committed.
It adds overhead, especially at the start. It also scales better than reading every generated line while the tool waits for approval.
Constant supervision gives you the worst version of the tool: it generates quickly, then waits while you become the test runner. I'd rather spend a few hours defining the checks than spend every hour acting as one.
What happens to the rest of the job?
I keep seeing the question of whether this replaces developers. I suspect we'll need fewer people whose contribution is limited to producing code, while the work of deciding what to build remains.
Developers have been lucky because writing code gave us access to interesting problems. Some of us enjoy the syntax and architecture patterns most. I understand the appeal. Those are also the parts AI can increasingly help produce.
The harder part is looking at a messy situation and deciding what to fix. You need to understand which user need matters, what could go wrong, and how you'll know the change worked.
The best developers I know are good at making those decisions. Their value was never measured only by typing speed, and faster code generation doesn't remove the need for their judgment.
I now spend more time defining what "done" looks like, writing test cases before prompts, and setting up checks so I don't have to inspect every output manually.
I'm still figuring out how much checking is enough. I can delegate more of the coding now, but I still need to know what would convince me the result is wrong.