The Jevons Paradox of Software: Why 10x Engineers Aren't Creating 10x Jobs

If AI makes engineers 10x more productive, why are CS grads struggling to find jobs? The answer isn't that software demand fell. It's that the bottleneck moved.

TL;DR
  1. The paradox is real. AI made engineers more productive, but job postings dropped. Jevons paradox says efficiency should increase demand. What gives?

  2. The bottleneck moved. Code generation got cheap. Now the constraint is deciding what to build, integrating systems safely, and owning outcomes instead of output.

  3. More software, different jobs. We're consuming vastly more software capability than ever. But that doesn't translate to proportional headcount because the work changed.

Software output is up 500%. Junior hiring is down 30%. Welcome to the Jevons Paradox of 2026.

If AI really makes engineers 10x more productive, why are CS grads (and even experienced folks) struggling to find jobs? At first glance, this feels like a contradiction.

The Paradox

Historically, when something becomes cheaper to produce, we make more of it. That's Jevons paradox. In 1865, economist William Stanley Jevons observed that better steam engines didn't reduce coal usage. They increased it. More efficient engines made coal-powered machinery economical for more applications. Demand exploded.

What is Jevons Paradox?

When technological progress increases the efficiency of resource use, the rate of consumption of that resource may increase rather than decrease. Better fuel efficiency doesn't reduce gas consumption; it makes driving cheaper, so people drive more.

By that logic, cheaper software should mean more demand for software engineers. Code that used to take weeks now takes hours. AI assistants handle boilerplate. Deployment pipelines that required specialists now run automatically.

Software is eating more of the world than ever. So where are the jobs?

The Boom and Bust

Software engineer job postings (Feb 2020 = 100%)

Source: Indeed Hiring Lab, Pragmatic Engineer

Job postings peaked at 350% of pre-pandemic levels in mid-2022. Then the correction hit. By mid-2025, postings had dropped to 64% of the February 2020 baseline. That's not a return to normal. That's 36% below where we started.

The mistake is assuming "software demand" maps cleanly to "software jobs."

Where the Bottleneck Moved

Production systems have constraints. When you remove one constraint, another becomes the new bottleneck. This is basic systems thinking.

When writing code was slow and expensive, engineers were the constraint. Companies hired more engineers to ship more software. The relationship was roughly linear: more engineers, more output.

AI changed the constraint.

Now that code generation is cheap, the bottleneck shifted to:

BeforeAfter
Writing codeDeciding what to build
Implementing featuresIntegrating systems safely
Shipping outputValidating correctness
Lines of codeOwning outcomes
THE BOTTLENECK SHIFT

2020:  [Product] → [Design] → [████ CODE ████] → [Deploy] → [Users]
                               ↑ BOTTLENECK

2026:  [████ PRODUCT ████] → [Design] → [Code] → [████ RELIABILITY ████]
        ↑ BOTTLENECK                              ↑ BOTTLENECK

The job isn't "write code" anymore. The job is "create value with software." Those are different things.

A junior engineer who could crank out CRUD endpoints was valuable when that was the bottleneck. Today, an AI assistant generates the same code in seconds. The value moved upstream (what should we build?) and downstream (does this actually work in production?).

Jevons paradox still applies. Just not to job titles.

We're consuming vastly more software capability than ever. But that doesn't translate to proportional headcount growth because the work looks different now.

The Excel Analogy

This happened before. In the 1980s, spreadsheets killed the "computer" job (humans who did calculations). But they created vastly more "financial analyst" jobs. The work didn't disappear. It moved upstream from arithmetic to analysis. Software engineering is going through the same shift: from syntax to strategy.

The Entry-Level Squeeze

This explains why entry-level roles feel the squeeze hardest.

The Entry-Level Squeeze

Year-over-year hiring change (2024-2025)

Sources: Ravio Tech Job Market Report, SignalFire, BLS

Junior engineers traditionally provided leverage: they handled the routine work while seniors focused on architecture and decisions. That leverage model breaks when AI handles routine work faster than juniors ever could.

The Apprenticeship Problem

Juniors don't just produce code. They learn by doing. If AI handles the "learning by doing" tasks, how do juniors become seniors? The industry hasn't solved this yet. Companies still need a pipeline of experienced engineers, but the traditional on-ramp is eroding.

A challenge for engineering leaders: If you don't train juniors on the hard stuff now, you won't have seniors to fix production in 2028. The talent pipeline doesn't refill itself.

The cruel irony: the skills that get you hired as a junior (writing clean code, understanding data structures, solving algorithmic problems) are exactly the skills AI handles well. The skills that matter now (system design, integration, judgment about what to build) are skills you develop with experience.

Entry-level roles aren't disappearing because software demand fell. They're disappearing because the entry-level work got automated first.

Winners and Losers

This shift creates clear winners and losers.

Companies

WinnersLosers
Small teams that ship. 3-person startup builds what used to require 30.Body shops. Billing by headcount when headcount drops.
Product-led orgs. Engineers close to customers, making judgment calls.Feature factories. Measuring tickets closed, not outcomes.
Infrastructure providers. Building the tools everyone else uses.Rigid role structures. "Frontend" vs "backend" as separate jobs.

Engineers

WinnersLosers
End-to-end ownership. Vague problem in, working solution out.Optimized for one specialty AI handles well.
Deep systems understanding. Debug when AI code fails in prod.Expect problems pre-decomposed into tickets.
Communicate with non-technical stakeholders.Measure value in code volume, not impact.

The New SWE Job Description

The job title "Software Engineer" will persist. The job description is changing.

Less of:

  • Writing boilerplate code
  • Memorizing syntax and APIs
  • Implementing well-specified features
  • Code review for style consistency

More of:

  • System design and architecture decisions
  • Debugging complex production issues
  • Security and reliability engineering
  • Product sense and prioritization
  • Integration across multiple AI-generated components
  • Validating that AI output actually works
The "Glue Work" Premium

Integration work used to be undervalued. "Glue code" was what junior engineers wrote. Now, gluing AI-generated components into a reliable system is the hard part. The premium shifts to engineers who can make disparate pieces work together.

The engineers who thrive will be those who treat AI as a tool that handles the mechanical parts while they focus on judgment, integration, and outcomes.

What This Means

Will this shock to the system eliminate work, or merely reshuffle who gets paid to do it and what they do?

Our bet: reshuffle, not eliminate.

Software is too valuable and too pervasive for demand to shrink. But the mapping from "software demand" to "software jobs" will stay broken for a while as the industry figures out:

  1. How to train juniors when the traditional on-ramp is automated
  2. How to structure teams when one engineer with AI assistance can do what used to require five
  3. How to value engineers when output volume is no longer a useful metric
  4. How to hire when the skills that matter are judgment and integration rather than coding speed

The Jevons paradox isn't wrong. We're burning more compute than ever. We just need fewer shovels.

For CS grads feeling the squeeze: the game changed, but it didn't end. The skills that matter shifted to the edges. The middle ground of pure implementation is where AI competes best.

Position yourself at the edges, not the middle.

The Two Edges

Upstream Edge: Product sense, user empathy, deciding what to build and why. Understanding the business problem before anyone writes a ticket.

Downstream Edge: Reliability, security, ops, debugging. Making sure AI-generated code actually works in production at scale.

Survival Guide for Juniors

The traditional entry-level path is eroding. Here's how to adapt:

  1. Stop building clones. Todo apps and Twitter clones don't differentiate you. Build something with a real user, even if it's just yourself.

  2. Go end-to-end. Don't just write code. Deploy it. Monitor it. Fix it when it breaks at 2am. Own the full lifecycle.

  3. Learn the edges. Pick one: product (talk to users, write specs, understand metrics) or reliability (Kubernetes, observability, incident response). AI is weakest there.

  4. Measure outcomes, not output. "I shipped 50 PRs" means nothing. "I reduced checkout abandonment by 12%" gets you hired.

  5. Get uncomfortable. The skills AI handles well are the comfortable ones. Seek out ambiguity, cross-functional work, and systems you don't fully understand.


The productivity gains are real. So is the job market pain. Both can be true at once. The question for the industry is whether we'll build new pathways for the next generation of engineers, or watch the talent pipeline hollow out while complaining about a "skills shortage."

Found this useful? Forward it to your engineering lead. Ask: "How are we changing our hiring criteria for 2027?"

Related Insights