Junior devs have always been useless. You used to give them tasks that take them a week or two even though a senior engineer could do it in a couple hours, not because you wanted them to contribute, but because you wanted them to learn to contribute.
The same ethos makes sense with AI, it's just that every company is trying to avoid paying that training tax. Why turn a junior into a senior yourself if you can get the competition to pay for it instead.
> Junior devs have always been useless
> The same ethos makes sense with AI, it's just that every company is trying to avoid paying that training tax.
Last time when a junior dev was added to my team I had a similar thought. But then talking with management I was informed that things went beyond just training.
The company had a social responsibility pledge and understanding with the local educational institutions. They had to pledge to be part of the internship and hiring activities every year. The company could not chose to be fair weather friends and try to recruit people only when they saw fit.
The other aspect was cost. A team made of only senior engineers was costly.
The last aspect was leveling up. Unless the company has lots of levels the team might end up lots of engineers at the same level. And with the inverted funnel nature of promotions it meant some engineers might end up waiting years for the promotion.
So, it was better to have teams with some junior, intermediate and experienced engineers. That way costs and promotion flows were controlled.
Now with AI the impact might go beyond junior devs. I see even the intermediate devs being impacted. It is more likely that companies think they can replace say 1 junior + 1 intermediate with 1 junior dev with AI. Or something along those lines.
I’ve had some who are useful almost out of school. The amount of tickets is always growing and have someone pick up those “when things calm down I swear I’ll address this” tickets is always helpful. If they can’t get anything done by themselves in the codebase then it gets much harder. I do also think that some people have completely forgotten all the context they didn’t have when they started off xx years ago so mentoring is not always very good
What’s the importance of then learning to contribute if they will probably jump ship anyway when they get good enough? Your HR department is not going to give them a market rate raise to keep them - see salary compression and inversion. A junior developer just isn’t worth the investment.
I have never once told my manager “it would be really nice to have a few junior developers. It would really help us get this project done on time”. They do “negative work”.
Yes not having juniors become seniors is an industry problem. But my goal is to reach my company’s quarterly and anual goals - not what’s going to happen 10 years from now.
Agreed. We are still in a capital crunch so overhiring is out of fashion. People don’t remember the early 90s or the dot.bust when the same things were said.
Kraft 1977 Programmers and Managers talked about this if I recall. Still the best alternate take on our industry I have ever read.
Yep. This is why many companies have a terminal level with “up or out “ rules. Before that level you are not fully independent and require too much supervision. No one wants a Jr engineer with 10 years of experience.
I see a lot of Sr engineers get very frustrated by how much time they have to spend helping Jr engineers. But, that’s the job, or at least a big part of it.
Or at least it was.
Strongly disagree with this. Bad junior devs might be useless, but I’ve seen good ones absolutely tear through features. Junior devs fresh out of school typically have tons of energy, haven’t been burned out, and are serious about wanting to get work done.
I’ve gotten plenty of use out of junior devs. The critical bit is what makes anyone a useful worker. I’ve found anyone that’s both dedicated and meticulous is worth the investment.
Sure there’s a wide range of skills and you can’t just hand any task to anyone and expect it to work out but some fresh collage graduates are more capable than the average person with 5 years of professional experience. At the other end you need to focus on whatever they actually are capable of doing. 40+ hours a week can slowly expand even an extremely narrow skillet as long as they’re a hard worker.
> Junior devs have always been useless. You used to give them tasks [...] not because you wanted them to contribute, but because you wanted them to learn to contribute.
Junior devs are by your own explanation not useless. They are the most important human investment in your project.
I mean, if we’re doing this, let’s be honest and go as far as mid-level engineers whose work needs constant correction, as well as the many, many senior engineers out there who are senior only because they lucked out in getting the title during the artificial dev scarcity of the ZIRP eras.
I think the idea of 'junior' needs to be refined a bit. By the time I got my first job I've been coding for years, and have built rather substantial things. In fact, in terms of pure coding ability, I was probably past the initial, fast part of my growth.
As should have others, which the university education system should have made sure.
The fact that some people come out of 4+ years of software engineering education utterly clueless means that they somehow managed to dodge having to build anything, I think means that they will never get good at any point in time, as they either were very talented at dodging having to build things, and I don't think that talent is going to abandon them, or they couldn't really grasp the basics in an environment designed for just that.
With that said, I think you can see for most juniors, what you can expect out of them in terms of pure coding ability - sure a lot of them have room to grow, but I've met so many great people who were very young, yet were useful from day one.
In fact, if you have the willingness to grind away at some problem, that puts you ahead of a significant amount of the pack. I have had the misfortune of working with people who lacked any demonstrable skill, and had coping strategies for having to deal with any sort of hardship. Getting useful work out of them was a challenge in of itself.
These people managed to get the years in to be considered senior, and are probably dispensing their wisdom 'mentoring' juniors somewhere else, and are no longer expected to actually contribute to meaningful issues.
Why? Because I learn every time I do.
Many juniors are actually very experienced but the industry can’t see that on paper.
> ...not because you wanted them to contribute, but because you wanted them to learn to contribute.
Rather because you want them to go away, because management conveniently forgot to reduce your load to account for time spent on mentoring.
> Junior devs have always been useless. You used to give them tasks that take them a week or two even though a senior engineer could do it in a couple hours
We havent dont it and I never seen something like that.
everyone was junior at one point, everyone. “junior” is just age mate, just age…
[dead]
It's interesting that the same dynamic is playing out on a much larger scale with children. A child is far more helpless than a junior engineer - at least a junior engineer can feed themselves, wipe their own butt, avoid destroying the room, and generally keep themselves alive. Everybody wants to offload the cost of raising children to parents, because the economic benefits aren't realized for 25+ years yet the costs are very substantial (frequently, at least one parent's full-time attention, costing them an income). Prospective parents are saying "fuck that shit" and simply choosing not to have children.
The long-term effects are going to be much like the effect of the software industry turning away from juniors: total collapse. When you have no workforce, you'll do no work - hell, there is just...nothing, nonexistence, no consumers either. But the fertility bust operates on a longer timescale (I think the software industry will start feeling the dearth of juniors in ~5 years, the economy as a whole won't feel the dearth of children for ~5), and it's far more fundamental. Rather than one industry disappearing, all industries will disappear, likely refactored into something that looks far different.
It also reminds me of those ecological predator/prey/locust models that I studied in calculus class, where population dynamics for many species have a tendency to overshoot the carrying capacity of the environment. Each individual in the population makes their own reproductive & survival decisions, but the sum total of them leads to population collapse and a near total extinction, followed by recovery once the survivors find resources abundant again.