The traditional junior development pipeline
(as we previously knew it, at least) has been under immense pressure for years
at this point. And now, AI has pushed it to breaking point. For decades, the
overwhelming majority of software companies relied on a familiar progression
route: Graduates entered as junior developers and learned via code reviews and
production work, before eventually taking on more complicated tasks and moving
up the ladder to become mid-level engineers.
The fact that junior
developers needed time in the oven to hone their skills was broadly accepted.
Because, in return, employers gained a consistent supply of experienced
engineers who understood the business, its systems, and its customers, and,
therefore, could confidently complete their work with high levels of
productivity, as well as troubleshoot during emergencies.
This brings us back to AI.
When LLM’s went mainstream, software engineering
was forever changed. Tools like coding assistants, AI agents, and code
generation models are, oftentimes, more than capable of handling a large
proportion of the work that has traditionally been passed down to junior
developers. In many ways, this is great for experienced developers, who can now
burn through their work much more efficiently.
But it creates a big
problem. Sure, AI makes experienced developers more productive, but this comes
at the steep cost of removing the early career work of junior developers. As a
result, junior developers become less necessary in many software businesses,
leading to fewer jobs and – in the future – far fewer experienced devs
available who understand the business and its systems.
Junior
Work Has Always Been an Essential Training Ground
Let’s face it, junior
development was never really fundamentally about writing code and contributing
in a major way to the business’ output. It’s mainly a way to show them how the
software they may have learned about at university (or on an equivalent educational
pathway) works in the real world.
They’re bound to encounter
confusing legacy systems, failed deployments, and unexpected customer
behaviours, among many other things, that become valuable lessons in
architecture and judgement. But the problem is that these are also the exact
tasks that AI exceeds in.
In its research on Copilot, GitHub reported that
developers who used the AI tool were able to complete a controlled coding task
much more quickly than those who didn’t use it. What’s more, Microsoft and
GitHub both reported that developers who used Copilot were also more satisfied
and productive, across the board, than those who didn’t.
So, put yourself in the
shoes of a software business leader at the moment. Why not just give a smaller
number of experienced developers AI tools and have them also do the work that
was previously passed down to several junior developers? The financial argument
for hiring, at the very least, the same number of junior developers
becomes harder to make.
We can shout from the
hills about the dangerous ripple effect that this will have on the industry and
economy as a whole (and will do soon in this very piece), but for companies
whose focus is on a lower bottom line and increased profits year-on-year, it’s
seen as a quick win.
Why AI
Has Changed the Economics of Entry-Level Hiring
The tech industry, like
many others, is no stranger to entry-level job droughts during times of
economic uncertainty; just look at the 2008 financial crisis, for example. But
now, things are a bit different because AI muddies the waters by also increasing
the amount of output from experienced engineers.
The World Economic Forum’s
‘Future of Jobs Report 2025’ identified AI as a
major influence on our employment market, and it also expects tech jobs to stay
among the fastest-growing job categories, while still emphasising a skills
disruption.
This is because AI is
increasing the demand for jobs in software, while still changing the number
of/type of people who are needed to produce it. Entry-level engineers are the
most vulnerable because their tasks, as we’ve discussed already, are areas in which
AI exceeds, and also because AI-supported development necessitates supervision
from someone who really understands whether the generated code is actually
right for the system; this job needs to be done by an experienced developer
with intimate knowledge of the business’s systems.
The Case
For Hiring Juniors
You’ve probably heard the
phrase ‘organisational knowledge’ before. It refers to the total collection of
knowledge, skills, and experience within an organisation, which it uses to
achieve its goals. It’s something that every company vitally needs.
Training junior developers
who are early in their careers creates organisational knowledge, as they will
become familiar with the business, its product, systems, and customers.
Investing in them means investing in a mid-level engineer who is fully confident
and intimately familiar with the business.
On top of that, if a
business, for instance, a design agency in Leeds, chooses not to hire
junior developers, they are arguably just shifting their costs over to more
expensive external recruits, via more expensive recruitment processes. Gambling
on candidates who already lack that organisational knowledge, while also carrying
other risks, like uncertainty around commute, salary package, and competition
from other employers.
But the main issue here is
a macro one, which is why it’s possible that it might not be fixed. The root
cause of the junior developer hiring drought is lower costs for individual
businesses. But this problem is bigger than an individual business; there will
be a collective price for this short-sighted cost-cutting, in the form of a
diminished future workforce incapable of satisfying the demands of both the
industry and the world at large.
How the
Role of the Junior Can Change
But the answer doesn’t
just lie in hiring all of the juniors back and preserving all of their former
tasks. It’s too late for that. Junior roles need to evolve. They need to spend
less time writing boilerplate, and more time investigating production issues,
helping to validate AI code, and improving tests.
This will require
companies to restructure their workflows, redefining what they consider a
meaningful development path. So what is a meaningful development path? Well,
let’s take a look at experienced engineers and work our way back.
If their tasks have
adapted to become more judgment-focused and strategic, then we can discern
that those are the areas we need to develop in junior developers. They need to
be apprentices in engineering judgement.


If you have any doubt related this post, let me know