A kid told Scott Hanselman he “one-shotted Minecraft.” The prompt was make me a clone of Minecraft — and the word doing all the work in that sentence isn't a verb. It's the proper noun. Take it out and the spec collapses, and so does most of the panic about AI writing our code.
Hanselman has been coding since 1984. In 1990 someone told him he wasn't a real programmer because he wasn't writing assembler. Then syntax highlighting showed up and the elders said color would rot your brain. Then autocomplete. Then Stack Overflow, and the whole profession was supposedly over — just copy-paste now. “So now we're in the fourth decade of panic,” he says. “The craft hasn't changed. Just because power tools got made doesn't mean bespoke, really cool furniture can't be created by craftspeople.”
It's a good line to sit with before the rest of this, because the temptation with any new tool — color, autocomplete, Copilot — is to ask whether it replaces the craftsperson. It never has. What it's actually done, every time, is move the line of what counts as the craft. And the place that line keeps landing is the same place: can you say, clearly, what you actually want?
Hanselman puts roughly 70% of his current code through AI assistance. His model for trusting it isn't new — it's the same one open source forced on everyone twenty years ago.
Was it their fault, or your fault for clicking squash merge? on merging an AI or anonymous PR that breaks something
That's the part that doesn't get automated: “AI does not generate architecture — it will create god objects, large and messy.” The slider from slop cannon to AI-augmented engineering isn't about how much AI you use. It's about whether a human still owns the shape of the thing before any of it starts generating code. Human agency, human in the loop, human responsibility — his words — matter more now, not less, because the volume of code arriving at your door went up and the excuse for not reviewing it went down.
Same idea, aimed at a portfolio instead of a codebase. Hanselman sees a lot of junior engineers show up with a tic-tac-toe clone or a one-shot Minecraft demo. He asks one question that ends the conversation every time.
This is the same failure as skipping code review on an AI PR, just earlier in the pipeline. In both cases a person is letting the model's fluency stand in for their own judgment. The code compiles either way. The Minecraft clone runs either way. What's missing isn't output — it's a decision only a human was in a position to make: what is this for, and why does it need to exist?
Hanselman wrote an ACM paper making an argument that sounds almost like an accounting problem: “the software engineering profession will collapse if we don't keep hiring early-in-career developers — because where are the seniors coming from?” If AI makes it easy to skip junior hires and go straight to senior ones, the only source of seniors is your competitor's junior program. Whoever trains people better keeps them, and everyone else runs dry a decade out.
The fix he's building at Microsoft borrows a word from nursing. Calling someone an intern or apprentice quietly files them as “less than.” Nursing renamed the senior instead: a preceptor — a safe person you go to with questions without the power dynamic of feeling stupid. The junior isn't lesser, they're just missing context, and the org's job is to hand context over on purpose instead of hoping it leaks through osmosis.
It connects back to the same throughline. If juniors lean on AI to skip the parts where they'd normally struggle and learn, they arrive at seniority having practiced fluency with a tool instead of judgment about a system — the same gap as the Minecraft clone, just compounding over a career instead of a weekend. Which is why his advice to someone with twelve months to land a job is almost defiantly unglamorous: “the basics” — HTTP, DNS, distributed systems, deadlocks. Knowing how to drive stick, in case the automatic transmission breaks down on the highway and somebody has to change the tire.
The model can write the function, ship the PR, clone the game. What it can't do is want the thing enough to know why it should exist — that's still the load-bearing part, and it's still entirely on us.