69 comments

[ 5.5 ms ] story [ 566 ms ] thread
I saw absolutely no compelling evidence to back up his thesis
I wonder if an AI wrote this. It seems to have all the hallmarks.
I hope this happens quickly. These companies that use only AI should be devastated.
The real problem with hiring juniors is that tech does not have flexible pay. Realistically, hiring juniors is high risk high reward so they should naturally be on some kind of probational pay.
Ok, which companies has it killed? At least one example?
(comment deleted)
I’m not sure where they’re getting their data about companies not hiring juniors.

In 2021, 104,874 CS students graduated—the highest number ever [0] (1.5x more than the 4 years prior). But the job postings 2022-2025 have certainly not maintained that trajectory.

If the number of graduates keeps climbing while the total number of jobs shrinks, then naturally more new grads will struggle to find work.

Playing devil’s advocate: some “senior” folks may now be competing with juniors, since they’re willing to take lower titles or pay just to stay employed. I’m not sure how much that actually shifts the market, considering companies famously don't hire overqualified people and tech workers face age-ism risk.

[0] - https://nces.ed.gov/programs/digest/d22/tables/dt22_322.10.a...

Doesn't or didn't Netflix only hire seniors for a while when they were doing some of their most interesting technical work?

And shopify seems like an odd company from the outside.

I mentioned why this is happening in a previous comment on HN [0].

I can't justify spending $120k or more on base salary for a new grad who lacks table stake skills becuase a program like UCB or MIT (let alone much lower ranked programs) reduced the requirements for fundamental theory and OS classes, offered the ability to take padded classes to bypass requirements (look at Cal's BA CS requirements in 2015 [1] versus 2025 [2]), or offer the ability to take these classes pass/fail thus reducing the incentive to study.

Sadly, Bootcamp grads also soured an entire generation of hiring managers away from nontraditional hiring. Screw you YC for enabling predatory programs like Lambda School (YC S17).

That said, I think an apprenticeship style program where a community college new grad earning $50k and gets a paid bachelors degree or directly hiring a bachelor degree new grad for $70k-90k while working would probably solve the issue. This is assuming those new grads don't meet the curriculum bar of the students they are competing with abroad. I think Shopify tried something similar and it worked.

I'm also not sure an "AI first" approach is the right approach unless you are looking for someone to manage generic CRUD type work (and that kind of work is a race to the bottom anyhow from a salary perspective). If I'm hiring a prompt engineer, then imo a Linguistics or Philosophy major (or any major where you are taught Structuralism) with a CS minor would probably be the best bang for your buck.

There needs to be coordinated reform in CS curricula, hiring incentives (eg. providing tax credits comparable to those which CEE, Israel, and India provide to attract FDI), and ease of doing business in order to resolve this crisis.

[0] - https://news.ycombinator.com/item?id=45413516

[1] - https://berkeleyguidearchive.github.io/2014-15/undergraduate...

[2] - https://undergraduate.catalog.berkeley.edu/programs/A5201U

Boot camp level skills are dead now - deeper grounding in CS is a requirement. With the 2022 hiring boom over and AI taking on some of the work, the junior market has more competitive, and will remain so in the foreseeable future.

My advice to new grads, students, and other juniors is to find any way to get real-world work experience. The pay for these roles may be lower, as higher salaries are increasingly reserved for senior-level engineers.

FOSS software is any other place to build skills and value until you land paying roles.

We just lost our 3 summer interns and now I had to take over one of the projects from one of them. The code was a bit messy, but holy crap did they get a LOT done in 3 weeks. Just finished fixing it up in 2 weeks, but if I still had him, he would have done all the fixes in less than 4 days. He was twice as fast as anyone here.
Along the same lines of missing good junior engineers at work, we occasionally interview stellar engineers that’ve inflated their resume a bit to get an interview, but we end up rejecting them for not having all the specific experiences our manager wants them to have even though they’re generally great and could clearly upskill where necessary. No wonder we can’t grow the team when we’re out here looking for unicorns
Hiring juniors is always great if you, somehow, have a much better filter for finding the stars than the rest of the market. But if you don't, hiring bad juniors is a disaster: No different than outsourcing bits to a bad satellite office.

So are you actually good at finding the good juniors in this very difficult environment? Can you change your hiring machinery to improve, as most traditional ways have stopped working? Because hiring a lot of juniors that don't work out sure can kill companies.

I was confused by why "use of AI" was a top-level requirement of this, but I see now that weave is AI-driven "engineering output measurement" company, down to the individual contributor level.

I can understand why you would have better luck hiring eager new-grads than seasoned engineers. I'm sure some IC find the weave stats useful, but it also sounds like a toxic manager's dream. I can understand why more senior engineers would steer clear.

hot take: covid killed a generation

If you were a junior in 2020 and right of the bat you were forced to work remotely you missed a great deal of learning experience. Or you had really bad time getting hired, at least up to a point, because business was booming.

Oh, and then you had that whole swarm of bootcamp graduates who thought they could cheat the system, get a degree in hello world and land a $300k job.

Back in 2013 I was making fun of job offers that would require 5-7y of experience in JS for a senior position. 7y of what? JQuery?

Same thing applies today. If someone started his career in 2001 I wouldn't even consider him if he had a job in BigCo.

Not mentioned in the article : interns/juniors are too expensive these days ; seniors offer better value per dollar of comp.
Is Shopify a great company?

Stock below peak in a market giving extremely rich tech valuations. Canadian engineers hardly aspire to work there. Politics of the founders also seem to come up a lot.

This isn’t meant to be an attack but more an observation that it seems to be one of the companies getting killed.

To address the article itself, the argument isn’t juniors ca seniors, but juniors vs AI. Why is a junior worth paying 10,000x more than Claude? And it’s perfectly loyal, perfectly energetic, and can add its learnings to a contributions.md doc.

When I hire juniors, I try to give them problems that I know they likely won't be able to solve in the interview because I want to see how they think about things. The problem has become that a lot of kids coming out of college have done little more than memorize Leetcode problems and outsourced classwork to AI. I've also seen less and less passion for the career as the years go by (ie. less computer nerds).

Unless the company is doing something that requires almost no special domain knowledge, it's almost inevitable that it's going to take a good while for them to on-board. For us, it usually takes about year to get them to the point that they can contribute without some form of handholding. However, that also mostly holds true for seniors coming to us from other industries.

> I've also seen less and less passion for the career as the years go by (ie. less computer nerds).

Ah, yes, the passion thing. I'm not being sarcastic, i see this as well.

I saw the shift happening in the 2010s, and I attribute this to essentially two things:

- social media and the glamourification of computer programming (and related things)

- the startup craze of the early 2010s (everybody and their dogs wanted to develop an app or start up a company, and money was flowing left and right from more-or-less clueless investors).

In a way, I'm happy that money is tight right now, deep down I hope the computer programming/science scene goes back to people driven by passion and money rather than just money.

When I hire juniors I give them problems that focus on fundamentals.

If a junior can code vanilla JS well, they can learn React, Vue, Svelte, etc. if they can't, they will never fully understand any of them. If they can write raw CSS, that can learn Tailwind and understand how and why. If thry can explain what's happening in the browser console, they can find the entry point for most bugs.

This is pretty much how I also test seniors. Focus on the fundamentals; if those are off, nothing else matters.

> Unless the company is doing something that requires almost no special domain knowledge, it's almost inevitable that it's going to take a good while for them to on-board. For us, it usually takes about year to get them to the point that they can contribute without some form of handholding.

I know that such places exist from reading HN but it always seems so counterproductive to join such a place as a fresh grad. As a beginner you need to be getting your hands dirty, getting some ownership and respobsibilities, making mistakes and decisions. Figuring stuff out, exploring tradeoffs and experiencing them firsthand.

It's like when a football player joins a big team before they're ready and spends a year or 2 on the bench. It completely stunts their development and they never reach their potential. When you look at those who reach the top, they were all playing nearly every match from a young age as an important member of their team.

Obviously I'm biased due to personal experience, as everyone is. And there naturally must be upsides to joining your company as a first job as well. But I'm very glad that in my first job I was writing production code and doing both brownfield as well as greenfield stuff by week 2.

>But I'm very glad that in my first job I was writing production code and doing both brownfield as well as greenfield stuff by week 2.

If you can get up to speed in two weeks then you can be replaced that quickly as well.

Getting to know how the business works can be as valuable as CS knowledge.

I don’t see how a year is an indication of something going wrong.

Year for a junior is perfectly reasonable.

Definitely making a commit to a GIT repo or opening a PR for textual change they should be able to do in first days. But doing any bigger task on their own that needs architectural understanding of our system a year is definitely good.

By giving candidates problems you know they can't solve during the interview, you give yourself the right to dismiss anyone "you don't like" by telling them they failed the test.
If that was your intention, why would you need a pretext? You're not obligated to hire anyone in particular in the first place, and apart from being accused of purposeful discrimination based on protected characteristics, you're not obligated to explain your decision criteria to anyone.
Many junior devs can often leetcode crazy algos but don't know what 'ls' or 'df' does.
Employers, in the absence of having managers and senior ICs with any actual interviewing skills, have decided that Leetcode should be the primary means of deciding the worth of a candidate.

These kids are merely meeting what the market demands.

The gap between juniors and seniors today is really not that big. I know a lot of people with senior in their title that are closer to a junior. Have them actually read the docs for a month straight, and a junior would know more than a senior.

Also, if you really want to hire a senior, and you can't compete on pay, maybe compete by going remote? Almost all the job listings I see are for hybrid roles. Do they realize they're just throwing away all the candidates in other cities? Are hiring managers/CEOs masochists?

I might have agreed with you on remote work before Covid, but the difference in productivity from my team that stayed remote after Covid, and the hybrid one I joined afterwards was almost impossible to believe.
The output of even junior mechanical engineers today would be considered mindblowing to the mechE's of 100 years ago, for similar reasons: computational tools have allowed an exponential increase in productivity.
As someone who has been hiring juniors recently. I disagree with pretty much all these points:

Great juniors learn fast and search for feedback. It’s easier to manage them. They want to improve and know what you think about their work.

--> Very skeptical of this comment. It's harder to manage someone that needs managed so directly, period.

Loyalty. engineers who you train from the beginning tend to stay longer. They understand your systems deeply and can mentor the next generation of junior engineers.

--> They really don't. They're looking for a foot in the door.

Higher ceiling. A motivated junior engineer often has more upside. You're getting someone at the beginning of their growth curve rather than the middle or end.

--> Maybe? Tough to tell. They often leave.

Juniors bring fresh energy to the team - they want to learn, and they have a drive to prove themselves and succeed. Their motivation can be contagious! The existing seniors in your team will enjoy working with smart and motivated developers.

--> Not always. Most just want a job and are easily discouraged. Some are like this though.

Juniors are not restricted by what they know. They haven't been trained to think "that's just how we do things." They’ll not try to reuse the same technologies from previous companies, or recreate those ‘amazing’ design patterns that were useful only in a specific context. It’s not just being AI-native, it’s about having less resistance to change.

--> This one I sort of agree with

> The existing seniors in your team will enjoy working with smart and motivated developers.

Maybe I just suck, but as a senior I've rarely enjoyed working with junior developers, even the earnest ones who really wanted to learn. I always had a ton on my plate, and mentoring juniors didn't replace anything from that ton of work, it just added to it.

And yes, I get that mentoring juniors is useful and essential. But companies need to build that into the job, not build it on top of the job.

The pool is large, resumes don't differentiate => I have to talk to them to find the guy. I don't know how to do this efficiently. If you've got that skill, go right ahead. For my part, the rise in compensation has resulted in a lot of people who don't have any interest in the subject except as a tool to make dollars and they always run into dumb stuff like wrong documentation making them unable to act.

Yeah the kernel docs say one thing but the kernel behaves differently. Just look at the source. It's open source, man. Won't do it without being told.

If they don't care but will be persistent, fine. But if you can't work some basics, it's not worth it. And the correlation is near 1.0 because at least passion guy has something driving him to dig to next layer.

Inevitably some sucker will hire him, give him some on the job experience and then I can pay more.

My comment will focus only on a subset of the article: the part regarding AI.

While I agree with the sentiment that AI has changed the practice forever, and therefore it is pretty silly to forbid AI during interviews (much like it was always silly to me to forbid a candidate from googling something during an interview), I haven't really seen evidence that juniors with AI have faster onboarding times.

Onboarding, to me, is about having the new team member adopt the existing team's practices, such as learning preferred code patterns, communication channels, established frameworks, and overall just getting to truly be a part of the team (tech and non-tech team).

In that sense, AI has done very little to help. If, on one hand, AI can help us produce better documentation that will help with this process and studying existing libraries and practices better, on the other hand, AI also enables a new team member to seek others less early on (a point the article itself makes), which I believe makes the onboarding process (according to my definition) slower — i.e. less communication = slower onboarding.

As I mentioned, we can also relate onboarding to getting to know the codebase, in which case AI definitely helps (and as more code is written with proper AI engineering practices, it will help more), but I really feel that this is a small part of the equation.

Similarly, I think getting to know the actual domain of a project (the users, the requirements, the 'language', the problems, etc.) is an important part of onboarding and, again, AI helps here, but not a whole lot. It's about people, not bits.

Sure, if you hire a junior to get him to work straight away on a new project, the new hire will be "productive" faster (therefore seeming to have been "onboarded" faster) than before, because the AI does make them "go faster" than before, but I wouldn't say they were _really_ onboarded.

Perhaps it's just a case of a different culture, a too-rigid definition of "quality", or just a different set of workplaces, but this has not been my experience at all. Most junior hires take at least 6-8 months to produce code with our standards of quality without a decent chunk of supervision. Even a junior with a very solid capability to think the system as a whole has a tendency to over-engineer or place code in the wrong places due to inexperience, which definitely affects their productivity.

The blog post is an advertisement for an AI powered employee stack ranking company, so it makes sense that they're shoehorning in AI even when it doesn't add to the piece.
Another “here are the 5 easy steps to hiring a great engineer” post, said confidently but with zero empirical evidence that his techniques actually work.

There is nothing more useless than posts that purport how to hire effectively but offer no data.