I spent an embarrassing amount of time last week watching an AI assistant confidently suggest the wrong fix for a bug, three times in a row, before a developer friend of mine just closed the tab and did it by hand. That stuck with me more than any of the glowing productivity stats floating around right now.
Most of what gets written about AI coding tools reads like a press release. Faster output, fewer bugs, everyone’s thrilled. The actual day-to-day version is messier, and honestly more interesting.
Boilerplate is basically a solved problem now. Nobody’s sad about that. Setting up a basic route, writing repetitive test scaffolding, formatting a config file exactly how some framework insists on, that stuff used to quietly eat hours out of a week. Now it mostly just happens. Even developers who roll their eyes at AI hype in general tend to admit this part was never the job anyone actually wanted.
Where it gets murkier is the harder stuff. A genuinely tricky bug, the kind that eats a whole afternoon, doesn’t get solved by typing a question into a chat box. Sometimes the assistant is worse than no help at all, because a confidently wrong answer looks just plausible enough that someone wastes twenty minutes chasing it before realizing it doesn’t fit. That’s basically what happened with my friend’s bug. The tool kept pointing at a symptom, never the actual cause, and every suggestion sounded reasonable enough to be worth trying. None of them worked. He eventually had to shut it off entirely and trace the logic the slow way, which is a little funny given how the tool’s whole pitch is saving time.
There’s a generational thing happening too that doesn’t get talked about enough. A junior developer today can ship working code faster than one could five years ago, no argument there. But there’s a real open question about whether the understanding underneath that code is as deep. My friend’s noticed it on his own team already. Newer hires reach for the assistant on things he thinks they should just be able to work through themselves, the kind of stumbling-through-a-bug process that used to be how instinct got built in the first place. He’s not anti-tool about it. He just isn’t sure yet what gets lost when the struggle gets skipped.
Code review changed in a way nobody really planned for, which is kind of funny in hindsight. A pull request can look completely clean and still come from someone who didn’t fully understand every line they submitted, because half of it came from a suggestion they accepted without really sitting with it. So reviewers started asking more “why’d you do it this way” questions, not just to catch bugs but honestly just to check whether the person actually gets their own code. It’s a small shift. It changes the whole tone of a review conversation though, less about typos, more about making sure a human is actually home behind the logic.
Trust took a while to land somewhere sensible. Early on, his team split into two camps, predictably. Some people pasted in every suggestion without a second glance. Others refused to touch the tool at all, which mostly just meant doing things the slow way for no real upside. It took something like six months before the team settled into treating the assistant the way you’d treat a fast, occasionally overconfident junior colleague. Worth listening to. Not something to trust blindly. They ended up writing a short internal doc about it too, nothing official, just a running list of where the tool reliably helps and where it tends to lead people astray. Nobody assigned that doc to anyone. It just became necessary once enough people got burned by the same kind of mistake.
So where does that leave the job itself? Less typing, more reading. Less writing code line by line, more sitting with generated code and deciding whether it actually holds up. That’s a different muscle than the one most developers trained on, and it doesn’t come naturally to everyone right away. My friend still writes code every day. He just writes less of it directly than he used to, and reads a lot more of it with a skeptical eye.
Whether that’s an improvement probably depends on who’s using the tool and how carefully. Right now, nobody I’ve talked to has a clean, confident answer. That uncertainty is probably the most honest part of this whole story.
One thing worth mentioning, almost as a side note: none of the developers I know are actually talking about going back. Even the ones most annoyed by a bad suggestion that wasted their afternoon still open the same tool the next morning out of habit. It’s less a love-hate thing than a tired shrug. The tool’s imperfect, everyone knows it, and it’s sticking around anyway because the good days outnumber the bad ones often enough to make the trade worth it.

