← Back to context

Comment by BobbyJo

10 hours ago

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.

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.

  • >Prospective parents are saying "fuck that shit" and simply choosing not to have children.

    Or in other words, they've been priced out of the market.

    If there will be no sociofinancial niche for their children to inhabit this is in fact the rational course of action. See also: South Korean current birth rates.

  • [flagged]

    • > statistically women all try to get into a relationship with the same 1% of men - who sleep around and cause toxicity all around. The remaining 99% become bitter and consequently... Are even less attractive to women.

      As a regular 30s dude, definitely not 1% by any measure, app dating had its rough spots but generally was a good time, I experienced no bitterness.

      Instead I met a bunch of interesting people and found my partner. We now own a house and are talking about kids.

      The real toxicity here is the idea that women at large are somehow responsible for anyone's lack of dating success.

      For anyone reading this who might be dating and feel disheartened- the hard truth is that you have two options: you can either blame the group of people you're trying to attract for having faulty preferences, or you can reflect and work on yourself and your approach. Only one of these has any chance of helping you.

      One thing I do agree with you on: bitterness is extremely unattractive.

      2 replies →

    • The rich and powerful can have all the gender roles they want. They are being phased out only among the peasants.

> 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.

  • Then don’t base comp on promotions - problem solved.

    • This kind of flippant approach is equally valid as "just use ai", "let other companies train the juniors", and "don't give promotions just hire new juniors + ai". All of these have obvious problems from their overly myopic viewpoint.

      1 reply →

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.

  • > 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”.

    I have. A good junior can do in a week what a senior with domain knowledge can do in a half day, with only an hour of mentoring along the way. This isn’t a great exchange rate per dollar (juniors are cheaper than seniors, but not that much cheaper) — but seniors with domain knowledge are a finite resource, you can’t get more of them for love or money, while juniors are fresh-minted every semester. The cheapest way to shipping may not go through juniors, but the fastest way usually does; and that’s completely ignoring the HUGE side benefit of building seniors “the hard way,” which is still easier than hiring.

    • And as a senior+ with domain knowledge, with AI I can do the work of two juniors without the communication overhead + do all of the project management, dealing with stakeholders, etc.

      But you don’t build seniors, you build capable mid level ticket takers who jump for more money at the first opportunity.

      3 replies →

  • Treat your employees well and they won't jump ship.

    • Its not about treating them well. The environment and culture isnt the problem. Its that tech companies have decided that they dont like giving appropriate raises to current employees. They are somehow fine with paying the same or more money to bring in an equally qualified external hire. But not with retaining people. Idk why, maybe some stupid MBA rule, mayne theres some good reason behind it

    • The problem is that (hypothetical) you as a line level manager don’t control comp and raises. Even in BigTech your manager doesn’t control your promotion and everyone knows it’s better to “boomerang” because you will get paid less being promoted to an L5 (mid) from an L4 than someone hired as an L5.

  • The main problem with having only seniors is that seniors have many many blindspots. Just by the nature of being there a while, they've built up hundreds of automatic processes that allow them to ignore or work around bad things at the company. In terms of code, tech, relationships, product vision, etc. It's the same reason why telling engineers to QA their own shit is a recipe for disaster. You need fresh perspective.

    • Who would better be able to see those blind spots - a junior developer with no experience or a mid level or senior developer coming in with a fresh set of eyes?

  • >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.

    Obviously that hasn't historically been true, else there wouldn't be any senior developers as companies would have wised up to that and nobody would hire them as juniors.

    - Not everybody is a job hopper (even in Silicon Valley one sees that most junior FAANG devs stick around for a good while).

    - The HR department is absolutely going to give junior developers that pass the cut after a year or so a market rate raise.

    - In limited hiring periods, they'd be grateful to have the chance to stick around, while in bullish "boom" periods companies can afford to spend to keep people, expand and give them bigger roles, and so on. It's in the in-between that it becomes more problematic, but now we're in a "limited hiring" era.

    >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.

    That's how companies fail.

    It's also not a good strategy at the personal level. If you command more devs, you get more leverage.

    • This is not true - the average tenure for a developer across the industry has been 3 years for well over a decade.

      > The HR department is absolutely going to give junior developers that pass the cut after a year or so a market rate raise.

      This is also not true from small companies to FAANG - see “salary compression and inversion”

      > That's how companies fail.

      The company failing in the long term is really not any current employees main concern unless you are a founder if the average tenure is 3-5 years. Even the stock market doesn’t care about the long term viability of a company.

      BigTech for instance can afford dead weight. Amazon has an internship program and for those who come back or through their non traditional programs for their internal consulting division (AWS Professional Services) they have a 3 (6?) month training program.

      In ProServe at least (former employee) even for their l5/L6 employees, they have the 3 month training program - “AWSome Builder” where you simulate a customer project and have to pass.

      After leaving AWS and being hired as a staff consultant by a third party company, they put me on a plane two weeks in to meet with a customer. They don’t even hire less than senior+ people in the US.

      5 replies →

  • > But my goal is to reach my company’s quarterly and anual goals - not what’s going to happen 10 years from now.

    Your benefiting from the work of peopke who did worry about what will happen 10, or even 20 30 years down the line. People like you are why the rides gonna stop

    • So I should become a director or CxO of a company (because line level managers are powerless to do anything) so I can make those types of decisions?

      Not that I’m a line level manager - I’m just a high level IC who is at the same position on the org chart as a line level manager

    • It’s telling that OP worked at Amazon because this pretty much sums up the culture there - new grads churning through and burning out in two years while a few seniors stick around and perpetuate the cycle.

      1 reply →

  • It doesn’t make sense to hire juniors at all other than as a service to society. I haven’t hired a junior in 4 years. The one I hired 4 years ago was because not only did he do reasonably well on the interview but he literally begged me because he trained himself to do it while painting houses so I saw a lot of passion in him.

  • Completely misses the point of training someone

    • So exactly what is the point for a profit seeking company to train someone except thsr you expect them to bring you more business value than they cost during their tenure?

  • This is the difference between being an engineer and being a clock puncher. You don't care about the business, you don't care about the product, you don't care about society as a whole. So long as you get your paycheck and your annual pay bump, fuck absolutely everyone and everything else, right?

    Don't worry, just leave all your problems for someone else to fix. I'm sure that won't have any lasting consequences at all.

    • I work for one reason and one reason alone - to trade 40 hours of labor for money to support my addiction to food and shelter. The company is not going to give me money for “caring about society”. They are going to give me money to meet my quarterly goals to help them meet their profit goals for the company and in a former life , to make them look good for the public market pre-IPO and at another company for an acquisition.

      I give a company 40 hours a week and all of my 30 years of industry experience and they give me money (and in a former life RSUs)

    • Sweet summer child. I was once opinionated and driven as you are now. I remember when I got out of college, I also thought like that of the mediocre clock punchers.

      Now at my 45 years, I couldn't care less for whatever grand objective the current company I work for has. I exchange my knowledge and time for hard cash, and let the owners , ceo and whatnot run with their grandiose vision.

      I only want to be left alone.

      We all get here. It's funny when we turn back.

      1 reply →

  • Welcome to capitalism. Hire seniors and pay them 400k

    • Again HN bubble thinking. Most developers in the US are working at banks, airlines, insurance companies, etc in second tier cities - in the “enterprise” and are not making “$400K”. Most developers will never in their career see more than $175K inflation adjusted and I really haven’t seen comp on the top end increase in nominal terms in a decade [1] for enterprise devs.

      That leads to my second point, in second tier cities, you see comp go from around $80K —> $115K -> $150K —> $175K, junior -> mid (pull well defined tickets off a board) -> Senior (leads larger initiatives) -> Senior+.

      For instance look at what Delta airlines pays based on Atlanta.

      https://www.levels.fyi/companies/delta-air-lines/salaries

      Why hire a junior at $80K when you can poach a former junior now mid level ticket taker for $115K?

      [1] after pivoting slightly to cloud + app dev customer facing/hands on keyboard consulting, I’m at a new plateau that’s higher.

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

> 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.

I don't know, I've known kids who can run circles around a lot of seniors, whether it's knowledge, coding chops or just intuition. The reason a newcomer takes a week to complete a task that requires two hours is because the senior has already learn all the ins and outs of the crappy software lifetime processes (usually dealing with half broken build / code review / ticket systems)

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.

  • And how do they compare to what a senior dev can do with Claude Code/Codex?

    I bet you a senior could do with one good prompt to Claude what a junior would take a day to do before AI - and take time away from the senior.

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.

  • The most likely explanation for "AI layoffs" is not that AI has caused a dramatic jump in productivity - its more that managers are running out of creativity in relation to revenue-generating and cost-reducing projects and henceforth have no use for the surplus of labour. Its much easier to maximize the stock price in the short-term by riding the 'AI' wave.

    There seems to be some nonsensical belief that there exists this endless stream of positive NPV projects to take. No... reality is not like that.

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.

  • I burnt out helping a junior on my team for the past few months. It was just terribly obvious she was feeding my responses directly into a chatbot to fix instead of actually understanding the issue. I can’t really even blame her, there isn’t much incentive to actually learn

    • I've been in situations like that. For me, it's like interviewing, I just keep backing off, lowering the bar, making it easier and easier until they can get it, then start going back up again. I pretty quickly get a confident read on where they are.

      If at that point it's clear (to me) the situation is not salvageable, it's a management issue, I've done my job.

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.

  • And have you compared the output of three junior devs to hiring one mid level ticket taker who isn’t that much more expensive + AI coding agents?

    • You don’t want 3 Jr devs at the same time because of diminishing returns. Most projects have grunt work where attention to detail is important but experience doesn’t really help much. AI can quickly come up with alt text for images, but ensuring it’s actually useful for someone using a screen reader is a different story.

      1 new Jr every 2 years works quite well for a team of 7+ developers.

      12 replies →

> 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.

  • I'm not sure if enthusiasts are the exception rather than the norm? I've noticed in the last few years, a lot of junior engineers do not have much active coding experience outside of their university education, they aren't the traditional "obsessed with computers and programming as kids".

    • There has been a much higher demand for software developers over the past 10-15 years than there are people who are obsessed with computers and programming

      If you look at the general topic shift on HN over the years it's obvious most people are getting into tech because they want power and money, not for love of tech

      1 reply →

> ...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.