There is a huge pool of exceptional junior engineers

workweave.dev

234 points by mooreds 2 days ago


Cornbilly - 2 days ago

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.

hibikir - 2 days ago

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.

meow_mix - 2 days ago

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

itake - 2 days ago

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

alphazard - a day ago

The biggest hiring hack for junior engineers is to hire the ones that have already been programming for a decade, and are called "junior" because they recently graduated university.

The junior/senior language is corporate-speak to equate everyone's value to "years of service" in industry or at a company. Obviously that's not how competency works, and if you are serious about hiring competent people, you should mostly ignore it. It's useful for listings, it is common terminology after all, but it's not semantically or descriptively useful.

theOGognf - 2 days ago

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

anilgulecha - 2 days ago

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.

britch - 2 days ago

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.

never_inline - 18 hours ago

Here are some real open-ended questions you can use to see how well a junior hire with no Industry background will do.

* Test whether they understand data types and abstraction. * You have a function returning two numbers in <your favorite language>, how will you do? * Now you need 4 items from this function called getUserInfo(), how will you return it? (Eg: username, email, location and age). * You need to share some state between two calls to this function. i.e a database connection. How will you do it? * Now imagine multiple threads / requests call this function. how will you share state?

And so on..

r/CSMajors types who have done only leetcode will fumble this kind of open ended discussion.

Similarly for networks

* Google "my IP address" from your phone?

* Is it really the IP address of your phone?

* There are more than 4 billion mobiles + computers on this planet. How are they getting unique IPs then?

* If you run your school project (likely to be django or express js app), will you be able to reach it from another phone or desktop using this IP?

* Why or why not?

These are kind of things they should be able to answer if their networking / OS etc... classes were any good.

jorl17 - 2 days ago

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.

0xbadcafebee - 2 days ago

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?

hyperhello - 2 days ago

I wonder if an AI wrote this. It seems to have all the hallmarks.

danans - 6 hours ago

> How to hire the right junior engineers...

The advice given doesn't just apply to junior software engineers, but also senior. It's pretty much how all the senior engineers at my company (including me) were hired.

While I found the process heavy as a candidate, it did seem to select for like-minded and similarly motivated co-workers.

That said, the company has also hired several university interns through a similar process, and they have been great co-workers.

adchurch - 2 days ago

Author here, great to see all the conversation & thoughts you all have shared so far!

One thing I've seen a lot of people saying: hiring juniors isn't worth it because they'll just leave for more money in a couple years.

I got hired with 0 experience for my first job and stayed for 3.5 years (I left when I decided to start my own company). I was otherwise never tempted to leave because I got all the support and growth opportunities I could have hoped for, and I always felt fairly compensated.

So based on my own experience, it's possible for a company to treat people well enough that they won't just leave. I do think software companies tend to be bad at this specific thing though - I'd imagine many have had an experience unlike my own.

a96 - a day ago

In small startups - “we are a very small team and we don’t have time to mentor juniors, we need engineers who will be very productive from day 1"

In medium-sized companies - “we are going to grow very fast, we need engineers who can handle scale and have faced such challenges before"

In big companies - “our infrastructure is super complex, it’ll take juniors too long to ramp up".

Seeing things like this, I pretty much always hear "We don't know what we're doing and want to find someone who does and will make us make money fast".

pmg101 - 2 days ago

Remember Joel Spolsky' guide to hiring [0]?

  1. Smart
  2. Gets things done
Personally I think the junior/senior distinction is overstated. Yes, experience does count for something. But it comes a distant third on the list to the two Joel mentions.

[0] https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guid...

neilv - 2 days ago

> Look for passion and curiosity. You want the ones who light up when talking about their projects. They should show real excitement about the problems they've solved. These conversations should be energizing for both of you!

Interview prep tells candidates to fake "passion" and (now) "curiosity".

(The prep materials don't say to fake it, but they will phrase it implying that that's the truth, and that it's something that interviewers look for. The prep might give examples of when to be sure to "convey your passion", such as when discussing a project you worked on.)

The net result is that interview prep materials, and companies that select for that, end up selecting for people who will go through the motions of appearances. Which is OK if you are a stodgy huge company sitting on its laurels, that wants everyone to be a compliant worker drone, more than they want excellence. Not OK if you're a startup that really needs to execute with more than worker-drone capabilities.

Maybe an interviewer seeking genuine "passion" and "curiosity" would be better off giving points to someone who seems to have skills but didn't seem to have done interview prep, since they must have gotten that far by being genuine and non-drone?

zkmon - 2 days ago

Not very long ago, the real reason smart managers, in consulting firms, hired juniors by boat loads, though they are not very skilled, is because the young staff has other compensating qualities.

The work these companies had was quite irregular, unstructured and unexpected as well. This demands a workforce that is very flexible, work over nights, can learn fast, can switch to any work easily (they are not stuck to a single kind of work role). Juniors wore many hats easily as situation demanded (faking included). They are also very mobile, can travel to a client site in any country. Most of them are singles. Feed them, do team outings, reward them and give gadgets (my team got first version of iPods free). They would give 50 hour weeks plus weekends. They hardly have any life outside of office. Sometimes they slept at office.

Also, the young workforce has a high team-bonding nature (romances included, intentionally). This makes them very good team players. What a manager means by "team player" is, they work for team goals, with poorly defined roles and tasks, without complaining.

There were a few seniors who review and guide the work, but the bulk of work was done by very mediocre, hard-working junior staff. When things go wrong, managers are ready to do crisis management and shuffle their young worker crowd across teams.

In other industries they are called MSGs: multi-skilled-gangs. These are very fluid work force. They don't know what kind of work will assigned to them on a certain day. It can be anything, from taking a support call, arranging lunch or pub party for the team, writing some html, testing some UI, giving a presentation to clients.

Undefined work requires undefined roles and employees that aren't yet married to certain work role, life style, or other person.

EZ-E - 2 days ago

This has been driving me crazy, at my mid sized company, higher management insists pretty hard in only hiring senior/staff. But to be honest we are far from solving novel, challenging technical problems. Inevitably we hire (expensive) super senior people who end up having responsibilities that do not match their level in tech and also in product. The good ones that want a challenge leave after ~1y. Junior or mid level would be a better fit in many cases. When I look at the job descriptions I find them ridiculously inflated in terms of expectations compared to what actually happens in the company. In the past when we hired junior, mid level engineers they ramped up pretty well, their salaries went up and they are still with us.

pyb - 2 days ago

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

aaron_m04 - 2 days ago

This article feels a little suspect. They beat the AI drum a bit hard. So I go to https://workweave.dev and of course their business model is tied up with LLMs.

hshdhdhj4444 - 15 hours ago

I’d buy this argument but for heaven’s sake don’t rest your argument on what Shopify might be doing.

Shopify has famously done everything and then the opposite for the past 5 years.

They’re highly opportunistic in their messaging and marketing around hiring and what they publicly reveal there is better seen as propaganda than an indication of their actual hiring approach.

yaur - 2 days ago

The thing is its much harder to higher a good junior dev. With a senior dev i can ask about the [hardest/most interesting/thing you would like to talk about] bug and talk through how they solved it to understand how their brain works.

With a Jr you basically need to spend an hour pair programming to sus out the great ones and no one has yet put in the time to filter out the bottom X0%.

saltyoldman - 2 days ago

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.

namblooc - 12 hours ago

Why do these blog posts always assume that utilization of AI makes employees faster at coding when the opposite has been proven to be true?

porker - 2 days ago

When companies hire more senior engineers is the quality of software produced increasing and delivery time decreasing?

It's a good time to see if bodies or experience matters more.

Axol - a day ago

Tragedy of the commons. People will prioritize selfish, short-term gains by taking from a finite pool of resources at the expense of long-term sustainability for everyone.

flustercan - 2 days ago

Junior engineers should spend half their time doing customer support.

It allows them to provide meaningful value to the company without needing to code, it shows them a customer first approach to the product, it teaches them empathy for users and the CS team. It also teaches them repro/debugging skills.

yeputons - 2 days ago

> We focus on system design, architectural decisions, and reasoning through trade-offs.

Are we still talking about hiring juniors? I hope I misunderstood and it's not about "design messaging app" type of questions. Otherwise we're firmly back in the Leetcode land.

neilv - 2 days ago

> "[...] it’ll take juniors too long to ramp up"

I think unsaid about a version of that belief is "... and, after expensive ramp-up including mentoring, they'll probably job-hop for a better salary, or better company, before the company sees payoff."

It's not just latency on payoff, but risk of any payoff at all.

> “...interns bring [...]"

"...a relatively low-cost way to evaluate a candidate hire, and then, if they show promise, you have their attention to make them an offer for a real job."

Given how hard tech companies find vetting candidates (e.g., many still cling to Leetcode and what school someone went to), and the demands of post-ZIRP on effectiveness, interns (and expecting to spend more on mentoring than the interns produce in value) are one solution for finding good future junior hires.

coliveira - 2 days ago

I hope this happens quickly. These companies that use only AI should be devastated.

alakep - 2 days ago

We love hiring junior engineers at https://yuzu.health/careers.

Please apply or reach out to me over email: russell@yuzu.health.

JohnBooty - 2 days ago

Hiring too many junior engineers is killing companies...

...although this is a fault of management, not the juniors. I've seen the following at two companies:

- Large, complex codebases

- Management hires a bunch of juniors because they're cheaper

- The juniors "move fast and break things" and write a lot of extremely high tech debt code

- Management, lacking the ability or will to understand tech debt, think these juniors are productive because they see short-term productivity but cannot understand the medium- and long-term ramifications

- The juniors, not knowing better, don't realize the damage they're causing (again, not their fault)

- At some point the juniors outnumber the seniors and the lunatics are running the asylum. (More politically crafty seniors utilize this to their advantage and cultivate fiefdoms of juniors)

I am of course speaking in generalities. There are amazing juniors and terrible seniors. I have been in this career long enough to see the same things over and over, so I stand by my generalizations. However... I have also seen enough exceptions to know that you can't judge pre-judge any particular individual by "years of experience" or any other metric.

alephnerd - 2 days ago

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

zygentoma - a day ago

Completely off-topic: How cool is that the headline text gets outlined when selected!

domq - 2 days ago

The technical term is “recession”

rurban - 2 days ago

We don't hire juniors, just seniors. For juniors we do have AI. They have crazy ideas, like shooting sparrows with cannons. Eg using terraform for a setting up a static repo hosting website. Or kubernetes for a GNU parallel job.

Very ambitious, yes. Overly ambitious. It's called massive overengineering

carabiner - 2 days ago

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.

tayo42 - 2 days ago

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.

nextworddev - 2 days ago

The real pro tip: hire someone with 2-3 years of experience

blindriver - 2 days ago

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.

vasco - 2 days ago

Ok, which companies has it killed? At least one example?

- a day ago
[deleted]
renewiltord - 2 days ago

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.

throwawaysleep - 2 days ago

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.

scarface_74 - 2 days ago

I saw absolutely no compelling evidence to back up his thesis

zeroq - 2 days ago

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.

Joel_Mckay - 2 days ago

It takes 1 to 3 years to train new generic skilled grads on average.

A company initially typically loses $35k to $140k in resources to train a Junior to be minimally useful. Thus, most ponder if a hire is going to have a career long enough on a team to offset that liability.

https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

In general, entry level gigs have a narrow scope of skills for many reasons, as managers know people plan to jump ship sooner or later. Staffing agencies have a feed queue for these roles in a large firm, and simply maintain the churn.

Good luck, =3

strathmeyer - a day ago

[dead]

- 2 days ago
[deleted]
red_rech - a day ago

[dead]

hellojimbo - 2 days ago

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.

fatih-erikli-cg - a day ago

My experience, real work is what a junior dev does, without an exception. Senior developer creates over-engineered version of what junior dev made.

Senior devs gibber about database systems, sql, nosql, clustering, etc. The real work storing the input in text file, querying with a simple loop.

Plus there is an additional huge misconception in industry, if something is realtime, it is a senior dev thing. It is something like a plague.