Software apprenticeship was accidental — Caffeinated Code
Software apprenticeship was accidental
July 19, 2026
Every senior engineer is a decade or so in the making, and AI just took away that making. So far our fix is to hire people already senior, and skip any sort of growing. In what AI actually multiplies I argued that judgment takes a long time to build, and doesn’t churn with whatever flavor of the month framework is in fashion. Since then a harder question has been sitting in the back of my mind: where does the making happen now?
Software’s apprenticeship was always accidental. Juniors stepped out of their comfort zone in the ticket queue, cut their teeth on the bug backlog, and picked up the small features nobody senior wanted to work on. That was the forge, and nobody called it that because the work shipped value while it trained people. It was a subsidy we collected without noticing, and AI just repossessed it. A junior’s ticket now costs more to review than an agent’s version of the same change, so the industry is doing the obvious thing and shedding the roles. Obvious, and shortsighted, because those roles were how we made seniors.
The licensed professions already solved this, and none of them left it to the market. Traditional engineering disciplines run the Engineer in Training to Professional Engineer pathway: years of supervised calculations a licensed engineer could do faster, paid for anyway, because the profession decided formation is a cost you pay on purpose. Medicine runs residency, graduated autonomy with a countersignature at every step. Law practice starts with clerkship/associates under senior attorneys, then the partnership track. Aviation counts hours before it hands anyone the left seat. The pattern is the same everywhere: deliberate inefficiency, funded openly, with authority that grows as the track record does.
On a software team, a deliberate version of apprenticeship isn’t exotic or as clearly scaffolded. Work would get done slowly on purpose, with an AI as tutor instead of pure executor, and the slowness goes in the budget as training the way a teaching hospital accepts being a slower hospital. Alongside the building comes verification, the half the ticket queue never taught. Hand a junior the bug and have them chase it down to the line that caused it. Hand them an agent’s pull request with a planted flaw and have them find it, then write the test that would have caught it before it merged. And when something slips through and goes to prod broken anyway, put them in the incident channel, in the postmortem, reading the wreckage next to an engineer who has been burned before. Judgment grows as much from studying what broke as from implementing what works. And authority arrives in steps: a junior signs off on small things, a senior countersigns, and the scope of what they can warranty grows quarter after quarter. That growth, by the way, is a better read on a junior engineer than any ticket count ever was.
One thing runs in the junior’s favor that no previous generation had: an infinitely patient tutor that explains why, at two in the morning, for the fortieth time, without sighing. The reps can be higher quality than my generation’s ever were. But only under designed use. The same tool used as an executor hands back output without understanding, and the junior who delegates their own formation is spending the only capital they have.
The uncomfortable part is the tuition. Juniors used to finance their own formation, because the tickets shipped while they learned. Now those years are a line item: the AI agent outproduces the trainee from day one, so the gap between what a forming engineer costs and what they ship is tuition somebody has to pay. The older professions solved that collectively, with licensure and funded residencies and academies. Software has nothing like that, no license, no funded residency, no institution that owns the problem, and a single company can’t conjure up an equivalent into existence on its own. But for once the timing favors the payer. Post a job at any level right now and thousands of resumes arrive; people who land somewhere that invests in them stay put. The shop that grows engineers gets its pick of the people who want to be grown, and it keeps the bench it builds. That beats pretending the market will keep handing over formed seniors it has stopped forming.
And the target moves. Judgment takes years to grow and the machines improve on a cadence of months, so an apprenticeship aimed at out-judging the model graduates into a world where that gap will have closed. So aim the training at the parts of the job most likely to still be theirs in ten years. Teach them how to decide what’s worth building. Teach them to prove a thing works instead of trusting that it looks right, to ask how it breaks and who it hurts when it does, and to put their name on what ships. My bet is the orgs...