Junior software developer
Turns a described problem into working, maintainable code — and, increasingly, decides whether generated code is actually right.
This is not a probability of losing your job. It combines how much of the role's task load is exposed to automation with how far adoption has actually gone — useful for comparing occupations on one consistent basis, and for nothing else.
Written specifically for entry-level and early-career software roles, which face a different picture from senior engineering. This distinction matters more here than in any other first-batch occupation.
What is actually changing#
The unit of analysis is the task, not the job title. A role is not replaced — its task mix shifts.
Writing routine code
Automating✓ Evidence-backedCRUD endpoints, forms, standard integrations, tests for known patterns.
Well-specified, heavily represented in training data, and immediately checkable by running it. This is the strongest case for code generation and it happens to be most of what juniors were hired to do.
Generating it is not the same as owning it. Someone still has to decide it is correct, and that someone has historically learned to judge by writing it first.
Debugging unfamiliar systems
Being augmented✓ Evidence-backedFinding why something broke when the cause is not where the symptom is.
Tools are genuinely good at suggesting hypotheses and reading stack traces. They are much weaker at the part that requires holding a model of a specific system in your head and knowing which observation would be decisive.
This is where the ceiling on generated code shows up most clearly, and it is the skill that separates a junior from someone who can be left alone.
Reviewing generated code
New task✓ Evidence-backedReading plausible code carefully enough to catch what is confidently wrong.
Volume of code produced went up sharply; the need to verify it went up with it. Reviewing fluent-but-wrong code is a distinct and newly central skill.
Turning a vague request into a spec
Still human-led≈ Platform inferenceAsking the questions that reveal what should actually be built.
Requires context about users, the business and what has already been tried. Generation is downstream of this and amplifies a wrong spec faster than a human would have.
Deciding how pieces fit together
Still human-led≈ Platform inferenceChoosing structure and trade-offs that will still hold in two years.
Trade-off decisions depend on constraints that live outside the codebase — team size, timeline, what the business will need next. This is what senior means, and it is the destination juniors used to reach by writing routine code for two years.
Which technologies matter here#
Four separate signals. They are deliberately not added together — a job exposed to two technologies is not twice as exposed.
How it got here#
The index is not a static number. This is where it would have sat at each capability checkpoint since ChatGPT — reconstructed, and labelled as such.
● 2 verified events for this occupation, plotted at the date it happened — the parts of the line near a marker are anchored to something checkable.
The baseline already includes code completion, which shipped before ChatGPT. The 2023–2024 climb is steep and then flattens in 2025 — partly capability, partly a hiring correction: several organisations that cut junior intake publicly reported that they had removed the path by which people become senior.
A flat line is not a forecast of safety. It says which tasks automation has reached so far — the occupations that moved least here are the ones where the constraint is physical or regulatory, and both of those can change.
Recent changes#
Experienced maintainers on large, mature repositories they know well (about 5 years each); tools were mainly Cursor Pro with Claude 3.5/3.7 Sonnet. The authors explicitly do not claim the result generalises to most developers or to greenfield or junior work.
Failure, rollback, regulation or cost is suppressing adoption. Can lower an assessment or widen its uncertainty.
METR — study report ↗One large technology company, company-reported, with no definition of how 'generated' is measured (autocomplete versus whole functions). Says nothing about hiring; the review step stayed with engineers.
An employer has put it into production. Can move the baseline — weighted by scale and how similar the setting is.
Google — CEO remarks, Alphabet Q3 2024 earnings call ↗What this means for you#
This occupation has the sharpest split between entry-level and senior of anything in the first batch. The tasks that made junior roles economically worth creating are the ones being automated, while the tasks that define senior work are not. The risk is not that programming stops being a career — it is that the ladder's bottom rung is being removed while the top is intact. Concretely: you need to demonstrate judgement, not throughput, and you need to do it before anyone would normally expect it of you.
Your position is comparatively strong, but it depends on a supply of people who learned judgement the slow way. If the entry rung stays broken, the constraint arriving in a few years is not automation — it is that nobody built the experience to review what the tools produce. Worth thinking about as a hiring and mentoring question now rather than later.
Your options#
Four directions, each with its real constraints and one thing you can test this week. Continuing as you are is a legitimate choice — it just has to be a chosen one.
Build judgement faster than the ladder expects
The scarce thing is someone who can tell whether generated code is right. You can start demonstrating that on day one instead of waiting two years.
Requires being in a codebase with real stakes. Toy projects do not teach this.
Take a generated PR — yours or a colleague's — and write a review that finds a real problem, with the reasoning. Do this weekly and keep them.
Specialise where correctness is expensive
Payments, security, data integrity, infrastructure — domains where a confident wrong answer costs real money keep humans firmly in the loop.
Requires depth, and depth takes time. Choose one and stay long enough to become the person others ask.
Pick one such area in your current system and read it end to end until you could explain its failure modes to someone else.
Roles that sit between engineering and the problem
Solutions engineering, developer experience, technical product — jobs where the value is understanding both the system and what someone needs from it.
Requires communication as a first-class skill, which not everyone wants to develop.
Write documentation for something you built, give it to someone unfamiliar, and watch where they get stuck without helping.
Apply engineering thinking in a non-software domain
Many sectors have almost no one who can both understand their domain and build. That combination is scarce and does not compete with generation.
The domain knowledge restarts from near zero, and the first year usually feels like going backwards.
Find a person in a non-software field with a repetitive problem, and build the smallest thing that helps. That single project is the proof.
Common questions#
Yes, but for a different reason than five years ago. Learning to code used to be about being able to produce code. Now the value is in being able to judge it — and you cannot judge code you could not have written. The training still works; what has changed is that the entry-level job market no longer reliably pays you while you acquire the judgement. Plan for that gap explicitly rather than assuming the first job will teach you.
The economic reason those roles existed — cheap throughput on well-specified work — is weakening, and that is a real structural change rather than a cycle. But teams that stop hiring juniors entirely create a problem for themselves: in a few years they have nobody who learned to judge output the hard way. Expect the role to be redefined around review and judgement rather than production, and fewer of them per team than before.
Studying towards this?
These majors lead here. Their pages break down which of their competencies transfer and what graduates typically lack.
Method and sources#
- Assessment date
- 2026-09-09
- Basis of the task judgements
- 3 evidence-backed · 2 platform inference · 0 not enough evidence
- Verified events
- 2