The Skills AI Stopped Teaching Junior Developers

melenaos1 pts0 comments

The Skills AI Stopped Teaching Junior Developers · Menelaos Vergis<br>Linkedin<br>GitHub<br>YouTube<br>X.com<br>The Skills AI Stopped Teaching Junior Developers<br>AI can generate code, but it can't replace the experiences that used to turn junior developers into senior ones.

Jan 01, 1970

Last month I asked a junior engineer on my team to make a small change. They asked Claude to make it, and Claude told them the change was invalid.<br>So they came back and told me it couldn't be done.<br>It could. So I said: let's do this one together, in Visual Studio, by hand.<br>We got the change made. What stayed with me afterward was the session itself, and the discomfort was mine rather than theirs: I had been quietly expecting a whole set of reflexes that nobody had ever given them a reason to build. Years of moving around inside an IDE leave a residue on how you work, and they hadn't had the years, because the job had never asked for them.<br>And Claude's refusal, I realised, hadn't been a setback. It had been a full stop, because there was no second route into the code for it to be a setback from.<br>"So what should I read?"<br>They'd asked me a version of this question a few weeks earlier: how do I get better at this?<br>Ten years ago I would have said Code Complete. Two years ago I would have said the same thing, maybe with Refactoring and A Philosophy of Software Design stacked on top. Last month I said learn SOLID, learn DRY, look at Vertical Slice architecture, and go build things. All of that is still true. None of it was the thing that was actually missing.<br>Because every one of those books teaches you how to write good code. Not one of them teaches you what to do with code that arrived already written.<br>That isn't a gap in knowledge. It's a gap in ownership.<br>Nobody ever set out to teach you how to read a codebase. You learned it because every feature you shipped made you walk through it by hand, and the understanding was the residue of the walking.<br>An agent removes the walking, which is exactly what we want it to do, and the residue quietly stops forming with it. Two years ago you couldn't ship a feature without coming to understand the system by accident. Today you can ship a quarter's worth.<br>So the thing that has to be trained deliberately now is the part that used to arrive for free:<br>Understanding the code. Not "does it compile" and not "did the tests pass," but being able to trace what actually happens, in code that nobody on the team typed.<br>Being at home in what the agent produced. The moment that diff merges, it belongs to the team. That means being able to read it, judge it, disagree with it, and change one behaviour inside it by hand, rather than regenerating the whole file and hoping.<br>Using the IDE as an instrument rather than a viewer. Visual Studio is for finding things out: following a call chain, inspecting live state, asking who else depends on this. If it's only the place where diffs show up, it's a notepad with syntax highlighting.<br>The invisible curriculum<br>Underneath those three, the specifics are all things nobody ever taught anybody:<br>Navigation. F12 to a definition, Shift+F12 for every caller, Ctrl+T to find a type you half-remember the name of, Ctrl+- to get back where you were, View Call Hierarchy to see who depends on this. Not the shortcuts themselves, the thing they add up to: holding the shape of an unfamiliar codebase in your hands.<br>Letting the editor do the work it already knows how to do. Ctrl+. on a red squiggle rather than going to look up the namespace yourself. Rename refactoring rather than find-and-replace. Generate a method stub from its call site. None of this is intellectually interesting, which is exactly why nobody teaches it and why not having it is invisible until you watch someone work without it.<br>Debugging. Placing a breakpoint as a hypothesis rather than a guess. Reading a call stack upward instead of staring at the top frame. Knowing that the Immediate window can test an idea without a rebuild.<br>Test judgment. Knowing which assertion actually matters. This one only comes from watching your own tests fail to catch your own bug, which requires having written both.<br>Diff reading. Holding another person's intent in your head long enough to disagree with it.<br>Every one of those was acquired by accident, and the accident has stopped happening. Which means it now needs some deliberate room made for it.<br>The 90/10 rule<br>Banning the agent is not the answer. A junior's velocity with Claude Code is real, it's why we can take the work we take, and slowing them down to simulate 2019 would train them for a job that doesn't exist.<br>So split it:<br>90% AI-accelerated. Scaffolding, boilerplate, research, routine feature delivery. Full speed, no apology.

10% hand tools. In that slice, the code that matters gets written by the developer.

That proportion is the entire budget, and it's worth being strict about it, because it's easy to design a beautiful training programme that quietly eats a third of someone's month and then...

code junior rather nobody years because

Related Articles