The Last Generation of Engineers
Japan's population peaked in 2008. South Korea's fertility rate hit 0.72 in 2023—the lowest ever recorded in human history. China's working-age population is shrinking by millions annually. These countries optimized for economic productivity: dual-income households, career focus, deferred family building. The math made sense in the short term.
Now they face a crisis with no quick fix. You can't manufacture a 30-year-old. The pipeline takes 30 years to produce results, and once you've disrupted it, recovery takes a generation—if it comes at all.
Software engineering is building the same trap.
The Junior Engineer as Infrastructure
In my previous post on the AI-augmented developer, I mentioned that the dramatic decrease in junior hiring "creates a looming pipeline problem" and was "a topic for another post." This is that post.
The logic seems obvious: AI can handle junior-level work. Code generation, basic debugging, boilerplate implementation—AI does it faster and cheaper. Why hire a junior developer when a senior engineer with AI tools can produce 5x the output?
This reasoning has a fatal flaw. It treats junior roles as a cost center producing output. They're not. Junior roles are infrastructure producing senior engineers.
Every staff engineer, every tech lead, every architect started as someone who didn't know what they were doing. They learned by struggling, failing, being mentored, building context over years. They developed judgment through experience—thousands of small decisions that gradually became intuition.
AI can generate code. It cannot become a senior engineer. It cannot develop the contextual judgment that comes from years inside an organization. It cannot mentor the next generation. It cannot make the strategic calls about when to build, when to buy, when to walk away. These capabilities are forged in humans over time.
Some will argue this is a temporary limitation—that AI will eventually develop these capabilities, and the industry is right to bet on that future. Maybe. But that's a bet, not a guarantee. And if it's wrong, the consequences are asymmetric. If AI does reach senior-engineer capability and we kept hiring juniors anyway, we've lost relatively little—we trained some humans who can find other roles in an AI-transformed economy. If AI doesn't reach that level and we've already hollowed out the pipeline, we face a decade-long talent crisis with no quick recovery.
Cut off the pipeline of humans entering the field, and you're betting everything on a future that may not arrive.
The Last Generation Problem
Consider a thought experiment. The industry freezes junior hiring for the next ten years. AI handles the entry-level work. Companies save money. Velocity stays high.
Now it's 2035. The senior engineers who were 35 in 2025 are now 45. Some have burned out. Some left for management. Some started families and stepped back. Some simply retired early. The normal attrition that every industry faces.
Who replaces them?
Not the juniors who spent the last decade learning on the job, because there weren't any. Not imports from other companies, because every company made the same calculation and the entire industry pipeline is dry. Not career switchers, because mid-career transitions into senior technical roles are rare—the contextual knowledge takes years to build.
Unlike other labor shortages, you can't solve this with immigration or training bootcamps. Senior engineering knowledge is institutional. It's knowing why this system was built this way, what broke last time someone tried to change it, which stakeholders care about which metrics. It's decades of pattern-matching compressed into instinct. You can't download it.
What We Do About It
We will reach an equilibrium. I don't believe anyone thinks the future is zero human engineers—someone needs to guide technical direction, make judgment calls, take responsibility. The question is what that equilibrium looks like and how painful the transition is.
If we optimize purely for short-term efficiency, we hollow out the pipeline and face a decade of talent crisis before stabilizing at a smaller, more expensive pool of senior engineers. If we're intentional, we can shape a better outcome.
For senior engineers: Advocate for junior hiring on your teams. Invest time in mentoring. The short-term productivity hit of training someone is the long-term investment in the industry's future—and in having capable peers who can share the load.
For companies: Resist the pure cost optimization. Junior engineers aren't overhead—they're the farm system. The sports analogy is apt: teams that gut their development programs for short-term cap savings eventually find themselves unable to compete.
For the industry: Recognize this as a collective action problem. Every individual company benefits from not hiring juniors if everyone else does. But if everyone stops, everyone loses. We need to talk about this openly and create incentives for long-term thinking.
The decisions we make in the next few years will shape the industry for the next few decades. Let's not be the generation that optimized ourselves into a corner.
This isn't just an abstract industry problem—it affects the teams and organizations we build today. If you're thinking about talent strategy, team structure, or how AI fits into your engineering organization, get in touch. These are conversations worth having before the pipeline runs dry.