If you had to pay market rates for cows once grown, would you breed cows and feed them?
Thats the problem. If you have the pay market when they become seniors, you may as well just pay market for seniors today.
https://companiesmarketcap.com/general-electric/marketcap/
https://companiesmarketcap.com/general-electric/earnings/
https://www.macrotrends.net/stocks/charts/GE/ge-aerospace/pr...
Certainly not in the top tier, but doesn't seem like it is at imminent risk of failing.
Its like I asked of examples of burn victims and you told me "steve has the flu".
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...
I was definitely competing with entry-level kids who had just graduated, even those who had just graduated from the boot camps we provided. And I was hired with no college degree, no certifications, and nothing relevant on my résumé since 1999. So yeah, I got minimum-wage treatment.
It was a fantastic, cushy WFH job. The parameters were ideal for my style. The supervisors were very, very patient and encouraging. I was a rock star, if I do say so myself, but there were plenty of competent colleagues who had plenty to contribute in the same role as me.
Eventually I earned 3 certifications and a college completion certificate, and that made zero difference. No raises, no promotions, no acknowledgements of my achievements from my employer.
So, college isn't all it's cracked up to be. Yes, seniors are competing with juniors and entry-levels. It's fierce. Be the best and do your best, and don't be reluctant to settle for a good employer.
If anyone wants to be justified getting hired in this market and not be offshored, they will need to be in an area with a large density of tech jobs in order to find the next opportunity to land.
And shopify seems like an odd company from the outside.
I've been following their program to recruit high potential high schoolers and have them work as junior SWEs while doing their degree part-time. I think this kind of a model is highly underutilized and would solve issues on both the hirer and the employee's end.
The issue is over the past decade, universities have dramatically reduced the scope of CS programs and removed foundational courses that have traditionally been gatekeepers to ensure some base maturity. Think like that theory of computation course, your CompArch course, or your OS Dev course.
I just checked the public school i went to and their required courses for CS include those that you listed
Canadian programs haven't been watered down to the same degree as American programs and we can pay y'all 20-30% less than Americans.
If not, what program and year? The last few years of new grad hiring at portfolio companies left a bad taste in everyone's mouth so hiring shifted abroad.
Depending on the university in the US we might already be targeting them but then the cost aspect comes to play.
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
Sometimes teachability subsides over the course of your career: A senior I know has terrible git hygiene but is so close to retirement, he simply won't change. But some juniors I've mentored have significantly improved their ability to compose an atomic commit with a quality commit message, and are now valuable team contributors.
Even the core concepts of your CS162 course are easily within the grasp of a CS major from a less rigorous program; you could assign some required reading as part of your onboarding process if missing these concepts would prevent them from thinking critically about problems in your org.
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.
This is just sound advice in general. A good professional analogue to recommending a junior college as a stepping stone to a university.
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.
Also, even seniors are usually more than happy to outsource work they've already done a million times, but that's still new to the junior ("build the Terraform to stand up this cluster" etc).
Something I last worked on with a junior engineer was our in-place backup system. I designed it and wrote the tricky part that involves DLL hell in a docker container. He wrote the "list backups", "delete backups", "create backup" CRUD API and CLI. My time was then free to put out fires or design something new.
It's not necessarily a no-brainer to hire and mentor junior engineers like the article says, but it's something you should think about. You will be surprised how much people actually know at job #1, and how quickly they can take on more complicated work that pays back your time investment in their mentorship. Plus, someone probably trained you to get you to where you are today, so there is some fairness in continuing the cycle.
This isn't some absolute innate talent thing, though; it's very much a learnable skill.
Especially because output and time-to-ROI for a new hire depends on the combination of all of these things: (a) interviewing/screening, (b) onboarding, (c) ongoing feedback.
It's not a zero-sum game, it would be entirely possible for the industry as a whole to get better across the board at those things - especially since one job's "rockstar" is often another job's unmotivated thinks-they're-the-smartest-person-in-the-room burnout, and vice versa.
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.
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.
Whether or not it works will be something we find out long past the early-experience tenure of those junior engineers.
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.
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.
Why is this a problem, though? Imagine hiring doctors or architects with that expectation. "The problem is that no one is truly passionate about dissecting cadavers anymore".
I think our industry got hooked on being able to hire self-taught geniuses in the early days of tech. But the profession has gotten a lot more commoditized, and we just can't continue like that. Gotta hire "normal" people and teach them what they need to know. And yeah, "normal" means people who decided to learn programming because it pays well, not because they want to design compilers in their spare time.
Which brings me to the following point: Earlier in my career, I was a medical student. All superiors were doctors, and though there were managers, no manager intervened in an operation. Also doctors selected their hardware and methods. No manager will ever come to a doctor and suggest that they do their work differently.
Now when it comes to software, everyone wants to chime in.
On the flip side, immediate green flags for me were: using linux, using keyboard shortcuts to manipulate windows / within the IDE, using an IDE other than vscode (vim/nvim or emacs are huge green flags), having custom scripts, having custom themes, or, the biggest one, self-hosting some applications. And Lo, these candidates also seem to perform the best in my experience.
I used to ask harder problems, like you, but found two failure modes: either smart people who panic and can't think straight in an interview, or people who can do high level thinking but then can't swap two variables in actual code.
That said, thinking back on my recent hires, I'm not sure this method has yielded any improvements.
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?
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
In my experience working with juniors, the ones that look to leave are the ones that don't have their compensation appropriately adjusted as they rank up.
Pay everyone well, treat them with respect. Challenge them, and give them raises and rank-ups as they gain tenure and skill (not when it's "in the budget, and oh sorry, we can only uprank one this year, but we hired a person at the higher level, so really we can't afford it. Try again later!"), and you'll have people that stay a long time
Please apply or reach out to me over email: russell@yuzu.health.
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.
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 they 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.
There is nothing more useless than posts that purport how to hire effectively but offer no data.
scarface_74•1h ago
freddie_mercury•56m ago
(Unrelated but the post has a funny rhetorical thing where it says nobody is hiring juniors then also says if you don't hire then your competition will... But you already said nobody is hiring them?!)
allenu•15m ago