DEV Community

Cover image for The Junior Developer is Extinct (And we are creating a disaster)
NorthernDev
NorthernDev

Posted on

The Junior Developer is Extinct (And we are creating a disaster)

I have a confession to make.

Five years ago, if I had a tedious task like writing unit tests for a legacy module or converting a JSON schema, I would assign it to a Junior Developer. It was boring work for me, but it was gold for them. It taught them the codebase, it taught them discipline, and it taught them how systems break.

Today, I don't assign that task to a Junior. I assign it to Copilot / Claude.

It is faster. It is cheaper. It is often more accurate (at least syntactically).

And that is exactly why the software industry is walking off a cliff.

The Broken Ladder

We are currently optimizing for short-term velocity at the expense of long-term survival. By using AI to automate the "boring" entry-level tasks, we have inadvertently removed the bottom rungs of the career ladder.

A Senior Developer isn't just someone who knows syntax. A Senior Developer is someone who has broken production 50 times and knows how to fix it. You don't learn that by reading tutorials. You learn that by doing the grunt work that we are now automating away.

If we stop hiring Juniors because "AI can do it", where will the Seniors come from in 2030?

The "Vibe Coding" Trap

I see a lot of excitement about "Vibe Coding", the idea that you can just prompt your way to a product without understanding the underlying code.

This works fine for a prototype. It is a disaster for longevity.

When a Junior writes bad code, I review it, we talk about it, and they learn why it was bad. They grow. When an AI writes bad code, I just re-prompt it. No one learns anything. We are filling our codebases with logic that no human fully understands, maintained by a generation of developers who never learned the fundamentals because the machine did it for them.

The Knowledge Gap

We are creating a "Barbell Distribution" in tech:

The Super-Seniors: Developers with 10+ years of experience who use AI as a force multiplier. We are becoming 10x faster.

The AI Users: People who can prompt but cannot debug a race condition or understand memory management.

The middle is disappearing. The path from Group 2 to Group 1 is gone.

What Happens Next?

I don't have the solution, but I know the current path is unsustainable. Companies need to stop viewing Junior hiring as "charity" or a "cost center" and start viewing it as an existential insurance policy.

We need to hire Juniors not to write code (AI can do that), but to audit AI. We need to teach them "Forensic Coding", the art of understanding why the machine hallucinated.

Discussion

Are you seeing this in your company? Is your team still hiring Juniors, or has the pipeline frozen?

Junior devs: How are you finding the job market right now? Senior devs: Are you worried about who will replace you?

Let's talk about it.

Top comments (166)

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

Old man asks another retired people to hold his line to the doctor, because he has a daily standup in a minute

Great article - really enjoyed it! This is exactly how I see the future heading.

Collapse
 
pascal_cescato_692b7a8a20 profile image
Pascal CESCATO

You're almost there too! 😁 Okay, you have a bit more leeway than me, but as a senior developer... 🤔

Collapse
 
sylwia-lask profile image
Sylwia Laskowska

Hahaha exactly, Pascal 😄 We’re getting there!

Collapse
 
traviticus profile image
Travis Wilson

And here I was thinking standups would go away with our new AI overlords.

Collapse
 
respect17 profile image
Kudzai Murimi

Great picture 😂!

Collapse
 
benjamin_nguyen_8ca6ff360 profile image
Benjamin Nguyen

haha! It is so true

Collapse
 
the_nortern_dev profile image
NorthernDev

Glad you enjoyed it! It is reassuring (and a bit worrying) that so many of us are seeing the exact same trend. We really need to figure out how to bridge that gap before it is too late.

Collapse
 
the_nortern_dev profile image
NorthernDev

love the picture btw 😂

Thread Thread
 
sylwia-lask profile image
Sylwia Laskowska

It was crafted specially for this post - I just couldn’t resist 😄

Thread Thread
 
the_nortern_dev profile image
NorthernDev

Haha hillarious! 😄I love the humor!

Collapse
 
ujja profile image
ujja

Kinda seeing myself in the lady at the front.

Collapse
 
alptekin profile image
alptekin I.

omg
and now think that you are a career changer. (i am).
I am that guy, i mean, will be :)))

Collapse
 
shitij_bhatnagar_b6d1be72 profile image
Shitij Bhatnagar

With all due respect, I beg to differ. The junior developer is neither extinct, nor would it be - some thoughts shared in this article here - dev.to/shitij_bhatnagar_b6d1be72/d... (in case interested).

And as far as worries is concerned, every developer junior or senior has some apprehensions (that's what I have seen), however with time that will get clear.

Thanks for the article.

Collapse
 
the_nortern_dev profile image
NorthernDev

I appreciate the rebuttal, Shitij! You are right that every generation has its apprehensions. My worry is specifically about the velocity of this change compared to previous shifts. But I am genuinely happy to see a differing view, if I am wrong and the role is safe, that is the best possible outcome for everyone!

Collapse
 
shitij_bhatnagar_b6d1be72 profile image
Shitij Bhatnagar

Thanks for your openness, appreciate your note.

I agree on the velocity aspect however my take on currently over-hyped themes is that there is lot of general messaging while very less specific messaging in public domain on AI 'real use'. Let me give an example, how does a software developer (junior or developer) use AI effectively - we hear everything under the sun as answer sometimes, but no practical examples from daily life e.g. one real life example is when we do load testing and run a 1000 requests against the service (REST), we get 1000 responses, I want to know which requests were fastest, how many took between 100-300 ms etc.. this analysis is what AI does for me when I give it the log file that contains the requests and responses.. its a time saving and I carefully look at the final summary 'information' from the data i.e. log. Of course, I verify what AI has given. Having said that, I am yet to see a single article or insight from any software developer that says, these are the 10-20 types of tasks I do in a Sprint (e.g. creating a confluence, tagging JIRAs with a release version, baselining code, creating a feature branch and so on) and out of these 20 tasks, task 1, 2 and 3 are where AI is able to be the multiplier for me / save my time.. I think that's a nice idea for an article as well :-)

Hope you see my point mate.

Collapse
 
chaihuibin926 profile image
柴惠滨

I think from my perspective, you and the author agree, that losing junior engineers is bad for the development of the industry.

Collapse
 
javz profile image
Julien Avezou • Edited

I can tell you from experience that the junior hires in the past company I worked for ended up being the most ambitious and loyal years down the line. This is because the company was perceived as willing to invest and trust in them. This pays off in dividends and is a win-win for both parties.
The consequences also impact senior devs. The role of senior devs is also to mentor more junior devs. There are many benefits to this relationship:

  • knowledge sharing and coaching is a skill that needs to be trained and is beneficial for senior devs to undertake to then progress to upper management or other professional growth paths
  • it is a rewarding to build and nurture relationships over time. Removing this human experience from senior devs will cause many to feel more dissatisfied at work and potentially quit
  • by teaching you learn best, if there are no juniors to teach then there is less learning consolidation

I agree with you that the question shouldn't be to stop hiring junior devs but to adapt the training to this new era of software development.

Collapse
 
the_nortern_dev profile image
NorthernDev

We often focus on what Juniors 'cost' in time, but we forget what they contribute to Senior growth. If you have no one to mentor, you lose the opportunity to refine your own understanding and develop leadership skills. A Senior with no one to lead is just a high-paid individual contributor.

Collapse
 
raj_247 profile image
Raj Dutta

This really resonates with me. I use AI daily as a productivity multiplier, but I’m glad I learned by breaking things first—debugging weird bugs, fixing legacy code, and understanding why systems fail. That grunt work is what gave me intuition, not prompts.

AI is great for speed, but if juniors only learn what to ask and not why things work, we’re setting up a serious skills gap. I think the future junior role should be about reviewing, debugging, and reasoning over AI-generated code, not just shipping output. Otherwise, we’ll be fast today and fragile tomorrow.

Collapse
 
the_nortern_dev profile image
NorthernDev

I really like your idea of the junior role shifting toward reviewing and reasoning. It is actually a much harder skill to audit code than to write it. If we can pivot junior roles to be about "forensic debugging" rather than just shipping features, we might actually bridge that skills gap you are talking about.

Collapse
 
sadiqsalau profile image
Sadiq Salau

Exactly! You can't audit what you don't understand. I have used AI systems to write codes, they are fast, but if you aren't experienced enough you won't catch what I call - "the clean code bugs". Up till now, I'm not comfortable with AI generating huge codes.

Thread Thread
 
the_nortern_dev profile image
NorthernDev

The clean code bugs is a perfect description. That is actually the scariest part. The code looks professional and follows best practices, so your brain lowers its guard, but the logic is completely hallucinated. That is exactly why deep knowledge is still required.

Collapse
 
ruqiya_arshad_7839c5e21f2 profile image
Ruqiya Arshad

I do not know why, but I feel like what's going on in the software industry might be the tech giants' monopoly. But I believe in one thing: the workload in the background requires more effort than what we present as the product. "In code, it never pays to rush."
Blog Article by Robert C. Martin:

Collapse
 
the_nortern_dev profile image
NorthernDev

​I agree completely. We are currently in a period where the industry is obsessed with speed, but as Robert Martin says, it never pays to rush. AI gives us the illusion of progress because we see lines of code appearing quickly, but we are losing the deep thinking required to make that code sustainable.

Collapse
 
annavi11arrea1 profile image
Anna Villarreal

Hello - Junior dev here!

I have been wondering these same thoughts for a while. I entered knowing that "AI was taking over the world." But I am a big picture type of person.

The last three years of my life: coursera, a web development apprenticeship (low pay, good experience), a very part time teaching assistant gig, a 9 month stretch at 35 hour a week IT job with not a single benefit or paid day off (low pay to might I add). I took that particular job because I knew I would learn more, and it was tech-related. All while working on my second bachelor's degree, side coding projects, and rummaging through comptia books. I've been teaching myself and falling on my face - and I know im not alone.

The junior devs are out working 3 side hustles to fill the fridge. They are out terminating cables in the freezing cold. (Yeah, I did that) They are against all odds out there, determined and willing.

Im currently the tech support for a middle school. Averaging 5-15 Chromebook repairs a day. Sniffing for signs of code. The middle schoolers have found a way to get around some things on their Chromebooks and I have put myself on a secret mission.

Keeps me sane I guess. 😏

At the end of the day, when companies are begging for new people - I hope to be at the front of the line.

Collapse
 
the_nortern_dev profile image
NorthernDev

You are exactly the type of person who will survive this shift. My article was worried about the juniors who expect AI to do the work for them. You are out there doing the actual hard work. That IT and hardware experience will make you a much better senior engineer one day because you understand how the systems actually connect.

Collapse
 
annavi11arrea1 profile image
Anna Villarreal

That's what im hoping for! Thank you for your kind words, I appreciate that. I actually enjoy the act of coding. I found that chewing on a solid problem for hours is way more rewarding than scrolling through fruitless social media posts. Im sure there are arguments that coding is stressful. But honestly, to me, it just makes me want to figure out the unsolvable problem even more. All my problems disappear when im working on a project. Bills? Gone. Stress? Only code related. Phone calls? None existent. 😂

I do find using AI fun and exciting. But it dilutes knowledge and experience for beginners. I am thankful to have a fullstack apprenticeship under my belt so I can defend anything I might share to some degree. That being said, I recently built an app with AI prompts and I ended up feeling kind of sad at the end. However!!! LOL - then you can use that as a tool to see what the AI used and learn from it to build more custom apps and situations. There is alot to be said about this.

I think there is now some anxiety about hiring Jr devs because what if they are fakes that somehow get hired and manage to fly under the radar? Does this happen? And what is being done to prevent it so people that actually care are noticed, I wonder. Sorry, that's alot. 😂

Thread Thread
 
the_nortern_dev profile image
NorthernDev

That feeling of being a bit sad after the AI does all the work is very real. It is because the reward in coding comes from the mental struggle, not just the finished app. If you skip the climb, the view from the top doesn't feel earned. Regarding the fakers, companies are definitely worried about it, but those people usually get exposed the second they have to debug something live without a prompt. Your background in IT and hardware is your best defense because it proves you actually know how things work under the hood.

Collapse
 
nandofm profile image
Fernando Fornieles • Edited

I prefer a Junior developer that can understand, learn and make questions before starting to code than a AI that you have to micromanage with most of the times dedicating more effort than you would apply to a real human being junior. An AI is an eternal junior, for a human being real person, Junior is just a state. We get experience, we have background, we acquire judgment.

Collapse
 
the_nortern_dev profile image
NorthernDev

​I totally agree. Prompt engineering often feels like extreme micromanagement. At least when you mentor a human junior, they learn from the mistake and don't make it again next week. With AI, you have to correct the same context errors over and over.

Collapse
 
bcouetil profile image
Benoit COUETIL 💫 • Edited

20+ years senior here.

Prompt engineering often feels like extreme micromanagement. At least when you mentor a human junior, they learn from the mistake and don't make it again next week. With AI, you have to correct the same context errors over and over.

This is only the first step of being an AI-augmented dev. When you'll learn about SKILL files, your AI will not do the same error again. Juniors are human; a few weeks later, they can do the same mistake again.

I have both juniors and Claude on my project. Claude with SKILLS takes me less time to manage directly, even against juniors using Claude.

But we still have to have juniors as future seniors.

Thread Thread
 
nandofm profile image
Fernando Fornieles

You're right but you are missing something really important. AI has no understanding, AI never will ask questions about something that could have no sense in the domain you are working on. Even using SKILLS, maybe this Artificial Junior won't make the same error again, but it will never be something able to activate your brain by questioning things because it will never get understanding of anything. AI is sycophantic, something that will provide you what you want to hear. Something that statistically fits best with the input you have provided.

And for me this is a key difference. I want to work with real people able to confront ideas, that provides real intelligence, real value, not with a Probabilistic Machine.

IMHO AI is a powerful tool to help you to fix bugs, analyze legacy code, giving a first version of the code you want to write. Use AI to replace juniors or people in general is a big mistake.

Thread Thread
 
bcouetil profile image
Benoit COUETIL 💫 • Edited

I understand and mostly agree; but 3 things

  • You think about intellectually fit juniors, that actually confront ideas. The others are already below Claude.
  • You can ask agents to confront yourself in various directions, out of the frame
  • The proba thing was before reasoning models. Reading the reasoning phase before their answers is mind bogling today
Thread Thread
 
nandofm profile image
Fernando Fornieles

Maybe the reasoning phase is not considered as statitiscs but it is far beyond to reach the same level of a regular junior. A junior, event a not competent one, has the ability to learn, really learn and understand. So at the end it will be acquire the needed judgement to audit the output of the AI.

I completely agree, we can rely on AI for the simplest tasks we could assign to a junior, but what scares me is accountability, If we can't understand and then properly audit what AI has done, who is responsible if something fail?

By the way, thanks Benoit for this interesting discussion, I'm really enjoying it!

Thread Thread
 
bcouetil profile image
Benoit COUETIL 💫

I enjoy it too !

Claude will always be a junior, for the reasons you already gave. Accountability is for seniors. A junior supervising Claude will give sub-optimal results. At least a third of developers will still be needed as super-seniors and future seniors.

x3 boost in productivity means 3x less developers needed but this is also a revolution that generates more software projects.

What concerns me is the perhaps half (?) of developers unneeded anymore.

Thread Thread
 
nandofm profile image
Fernando Fornieles

More productivity means more software entropy, which means more maintenance work that will lead (probably) to the need of more developers able to manage this fast rise of entropy.

Not worried, but...

Collapse
 
miketalbot profile image
Mike Talbot ⭐ • Edited

A dicotomous comment from me:

70% of my dev team have been juniors. In the last 4 years, I've never lost one of them, and they have become great members of the team, excelling at what they do. My next round of recruitment will be juniors again. It's juniors all the way down for me.

On the other hand, I can't help feeling that the problems you describe are transitional problems. I agree they exist now, but I'm not convinced they will exist in 10 or even 5 years. I consider myself a good software architect, innovative and at times in my career, building things that were commercially highly successful while being very unusual and out of the mould. Right now, I'm feeling that "senior power-up" you identify - I'm still way smarter than the machine, albeit it knows every tool, package and API like the back of its hand. I can believe a time will come soon when it is out-thinking me, where my desire to architect will be a discussion of equals - then later, I will be the junior struggling to understand.

Clearly, my decision-making will be based on what I can see today. My budget for inference in the new financial year will be 6 times the current year's budget. Some of that could have been for salaries, I guess - but as I say, I'm still hiring. We're all playing a balancing game right now, wondering about the future, making decisions as if the future were already here (when it might never be), is a mistake I'm trying hard to avoid.

Collapse
 
the_nortern_dev profile image
NorthernDev

Your zero percent turnover with juniors proves that the role isn't extinct, it is just being poorly managed elsewhere. If we stop hiring them now because of what AI might do in five years, we are just creating a talent vacuum for ourselves later. You are building for the current reality instead of a hypothetical future.

 
ruqiya_arshad_7839c5e21f2 profile image
Ruqiya Arshad

True, and it's deep! As long as we have legacy-building seniors who know that software engineering is not only coding but also serves more than that. The juniors need to follow them and their case studies. And I believe we will not be replaced but will be assisted by AI. Those who want to replace humans are not only biased towards humanity but also towards themselves as well.

 
shitij_bhatnagar_b6d1be72 profile image
Shitij Bhatnagar

Spot On :-)

Thread Thread
 
the_nortern_dev profile image
NorthernDev

I share your optimism. Once the initial hype settles and companies realize that maintaining AI-generated code actually requires deep knowledge, the value of a solid Junior who understands the basics will skyrocket again. We just need to ensure we keep teaching those basics in the meantime.

Thread Thread
 
the_nortern_dev profile image
NorthernDev

Excellent point, mate. We are drowning in general AI advice but starving for practical, sprint-level workflows. Using it for load-test analysis is a great example of high-value/low-risk AI usage.
​That list of 20 tasks is something the industry needs right now to set realistic expectations. I might just take you up on that idea for a future post, or I’ll be the first one to read it if you write it!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.