Ask HN: Is no one hiring junior devs?
I'm a senior dev but I'm in a position where I happen to know a few junior devs through my gaming hobby, after talking with them it seems like they're having a hard time.
I know my company hasn't hired juniors for over the last year at least, and that seems to be the same at a lot of places. I've been talking with those juniors recently and most of them are having a hard time getting anything.
This is going to make the senior dev situation worse in a few years since there doesn't seem to be any pipeline to make new ones.
157 comments
[ 4.1 ms ] story [ 202 ms ] thread(OK, that was snarky given that you're asking on behalf of people you'd like to recommend, rather than being an applicant. Sorry.)
(For the sake of whoever else might want to respond)
What situation is this referring to?
It makes it harder to filter, so the bar is raised a bit
We are still hiring plenty of juniors, but they are almost exclusively CS grads at this point. I honestly worry that software is going the way of law and finance, where credentialism is rampant.
this seems to always happens, is this the commoditization of skills?
All work is done with some kind of a redundancy: no particular individual's skills are permitted to really move the scale/balance. All work is done by teams; only the whole team matters such that the individuals are replaceable across all teams.
Any team member can fuckup, drop the ball, get hit by a bus such that the work carries on unimpeded.
One of my companies gets people who don’t know what Git is interviewing.
After a while, yeah, trying to filter through all the crap becomes too much work and we rely on degrees and other hard to obtain stuff.
[1] https://www.goodreads.com/book/show/400716.Introduction_to_t...
Even as somehow experience dev, getting on board in a new team is quite hard if everybody is remote.
1. Have a collaborative culture. This is difficult at some places. But an environment where people are free to spin up zoom meetings and ask questions goes a long way. RTFM culture is the worst. Yes there are devs who don't bother reading the docs, but I find they often don't know how or where to look.
2. We had watercoolers in the afternoon. People could just chat. It may seem like a hugely ineffective process BUT... about 30%-40% of the time it would be about work. Knowledge would be distributed to multiple people, social bonds would form, and blockers would often be resolved. This led to high trust teams with multiple SMEs some of whom were "JR" devs.
3. README or wiki. Currently working at a FAANG company and several repos have no README. Wiki's are out of date. Knowledge is fragmented. I don't blame other devs, but it's kind of insane how much technical debt there is.
Yeah, because that sucks for the senior engineers who are expected to spend 100% of their time mentoring junior developers, 100% of their time attending status meetings, 100% of their time closing JIRA tickets and the other 100% of their time fixing production issues.
One of them is a mid-30s handyman who turned out to have one of the best knacks for UI/design I've seen.
It's a shame because he's a very decent junior React dev that'd be a great combo UI designer but can't find an in anywhere
I feel like you've really got to do something to stand out or make connections
This however does not seem to be the case with smaller companies that actually do have offices, in my experience.
I'm happy to travel and work together but senior manglement like the look of their travel budget post covid.
And even then you have to hustle. Get yourself tickets to conferences (if you've built stuff, many niche conferences have free/subsidised tickets for open-source devs) and talk to people who are hiring - not the people who have the booths, but the people in the audience.
The idea that most people can just apply to jobs cold and eventually get one is essentially a lie, ime.
Developing and maintaining these boring systems is the primary source of employment in my corner of Europe.
I could not get hired through most companies' cold interview processes - not "we make internal widgets in C#" companies, not "we're changing the world" companies. The most competent devs I know can't get hired that way. The only way that it's worked in my experience is to get someone internal to the company to champion me.
This sounds like another version of racism to me.
I'd like to use the cliché "finding a job is a full time job."
Many people interpret this to mean "jam as many keywords as possible into a crappy resume and spend all day spamming it to every job posting you see." That's not gonna work well for juniors (although the most dedicated will still find something).
Applying to a job is more complicated than that. First of all, you need to understand the job you are applying for. That might involve researching the company and the project. You should make sure you are comfortable using the tools listed in the description and performing the role described. If you aren't, you need to practice before applying, which usually means building something.
When I started job hunting after graduation, it took three months before I sent out a single application. That's because every job posting listed responsibilities I didn't know how to perform or tools I've never used. Of course I'm not going to apply for Angular Frontend Developer if I've never built any frontends using Angular, that would be unprofessional. But after I made a couple simple projects in Angular, I would apply to these roles and got callbacks even from postings asking for 2-3 years of experience.
Maybe this works if you live in a tech hub where there's venture capital to spend on masses of junior devs?
I am well past junior dev stage. Still no bites.
But this is exactly what landed me my first job back when I was a junior. As someone with no experience I could not afford to be selective and the more I spammed my CV the more interviews I was getting. It also works because the person who does the initial screening is usually not technical and is actually doing nothing more than matching the keywords.
> First of all, you need to understand the job you are applying for. That might involve researching the company and the project.
My experience is that the average job posting has close to no information about the project and the company does so many different things that it's impossible to get this information through your own research. Even if you do find some information it is utterly meaningless because this is NOT what the company is looking for when posting a job advert and this is NOT what the average candidate ends up doing. The company not looking for "someone who understands the company or project" - they're looking for a software engineer. That's it and nothing more.
>You should make sure you are comfortable using the tools listed in the description and performing the role described. If you aren't, you need to practice before applying, which usually means building something.
I've learned most of the tools I know on the job. Trying to learn something you don't know for the sake of the company that might not even give you an interview is a waste of time. Either they won't mind you learning on the job or they want someone with actual job experience. Large companies are also notoriously slow when it comes to organizing everything you need to do your job so the first week or two are usually filled up with nothing which is a perfect opportunity to learn something new.
I have no idea what this means. What makes web apps not serious?
If in the process you learned about something you could actually go up and do an interesting lightning talk about, that'd be worth it. Maybe you learned something about a specific industry and the challenges that developing something for it has that other industries don't have - maybe you accidentally spent weeks/months deep-diving into the technical details of HTTP/3 or some browser API and worked out you could do something that nobody has done before outside of Google.
If you won't take that seriously, then what?
I'm sorry but to inject a dose of reality, that's a very low bar.
The guy is making a web app which other people want to pay for, looks like just about the right height for a bar, and I'd say not low at all.
"Tech Company" is looking to hire someone that knows technologies A, B, and C to use to make a product that's also intended to make money (allegedly).
If that's not good enough, I ask again, what is? What do you really want in a prospective junior developer?
I realize some people do cutting edge programming, but the bulk of us probably spend much of the day shifting strings and filling in model fields and chasing webpack configs. Or maybe I'm just a sap and everyone else is doing cool stuff idk.
Are you sure? Your link lists 32 jobs. A very large majority explicitly qualify themselves as "senior", "lead", "staff", or "principal" positions. There's also a "director".
There are a handful of postings that don't ask for seniority in the job title (and some are duplicate titles, strongly suggesting that each posting is a single opening). But all of them require at least two years of industry experience. Where are your junior positions? Did you mean to link something else?
You're not eligible for "Developer" without two years of industry experience. That's not a junior role.
https://finra.wd1.myworkdayjobs.com/en-US/FINRA/job/Rockvill...
https://finra.wd1.myworkdayjobs.com/en-US/FINRA/job/Dallas-T...
https://finra.wd1.myworkdayjobs.com/en-US/FINRA/job/Rockvill...
(TBF I don't even know what a "senior associate" should mean, but "associate" usually means "entry level")
Take a look at this listing, for example. This is something I would actually apply to, since this is my core competency.
https://finra.wd1.myworkdayjobs.com/en-US/FINRA/job/Rockvill...
1. Is it an analyst position or a software developer? It only requires a 'Basic knowledge of programming languages, including SQL' . So is knowing SQL enough? What other languages are used? No info.
2.
> Document requirements, conduct data analysis, and produce user documentation.
This is a Business Analyst requirement. Software devs rarely documents requirements in the project planning phase. If they are, it's a red flag for your org.
3.
> Strong project management skills
So do you need a project manager then? Yes, there's some overlap with a BA, but generally not with software development.
4.
> Develop reports, charts, graphs, and process maps and maintain data files.
Ok, so Data analyst then? Hold on, I thought you needed a PM. Now you need a BI Analyst.
5.
> Bachelor’s degree in Computer Science, Information Systems or related discipline with at least two (2) years of related experience, or Master’s degree in Computer Science, Information Systems or related discipline with one (1) year of related experience, or equivalent training and / or work experience.
Wait, I guess you really need a software developer. Or do you? Or is your HR just using this requirement as a general filter against self-taught people?
You're welcome, by the way. If you're wondering why you're struggling with finding top quality candidates - maybe show this post to your HR and tell them to stop lumping 4 jobs together into 1 listing. It really shows that you have no idea what you're looking for and are just looking to snatch up young talent so you can underpay them and hope they are naive enough to overlook all the red flags.
These requirements are vague, but if I had to guess, this role is most likely heavy on data extracts and reporting (hence the SQL in point 1), and expects you to be able to work with your business counterparts to understand what's wrong/right with your reports. The charts and graphs point is probably more like 'basic Excel knowledge to manipulate the CSV you pulled from the sql database'. PM skills is probably a roundabout way of saying "can you estimate how long a feature might take to deliver". This role is most likely "big investment bank is required by regulation[1] to keep specific positions and send us their trades daily, write a query to make sure they're netting out to zero and send us a daily report".
Do you need a masters in comp sci to perform this role? No, probably not. I think it's more of a "well if you have the hard skills in programming, we can teach the other parts'. In my experience, a lot of the people from pure comp sci degrees left financial services fairly quickly out of boredom, whereas people with information systems degrees seemed to thrive based on the higher need for soft skills. [1] e.g. SEC's FIN41 https://dart.deloitte.com/USDART/pdf/793a25c7-3f31-11e6-95db...
If you write shitty job descriptions, mention nothing about benefits and use a shitty HR system - you will not get high end candidates on average and can only hope to get lucky or keep the outside position open for years.
You and I know what the job entails, but some fresh grad won't. Nor is comp-sci in ANY way necessary for performing the duties in the job.
They basically paid to train me and then I went off to a far better paying tech company that doesn’t hire juniors.
In a highly liquid market like tech, you can’t really afford to invest in people as they cost the same as just hiring off the market to retain/replace.
Not six months, but about a year for each.
The immediate payjump from hopping from bottom-of-the-rung where you're at to some random CRUD web dev job, I'd wager is far outweighed by the potential returns for senior experience in Fintech, specifically.
That's a much harder niche to get into than building CRUD apps from what I hear.
Do you think the situation is different in more specialized niches (i.e. would I be able to reasonably compete with a CS grad for a job at a biotech firm?)
If you want to go biotech and software, I'd say try to pivot into a data scientist position
Yes, but honestly it really depends on what you want to do.
As an example, I'm currently starting to hire for a small tech company in the life-sciences space. A candidate with real lab experience would be significant differentiator though its not super necessary for the position. On top of that having a PhD is a strong signal in favor of a candidate. That being said, given my position I would likely just pick a more-technically competent candidate if one is available, though that won't be the case everywhere you look.
The closer you get to the bigger biotechs, I'd imagine the more your PhD will be worth in terms of differentiating you as well. If you need to talk to scientists on a daily basis, you'll need to know how speak the same language, and thats not something you can get from a bootcamp.
My best advice would be to learn a breadth of technical skills and to start honing the ones that make sense for you personally. Don't let any tell you "you need to focus on X to be successful in biotech." There is a lot of innovation going on in the space right now, and if you look in the right places I'm sure you'll find that niche that makes sense for you.
I did something similar to what you describe ten years ago, finishing a chem phd and pivoting to data science (back when data science was still the coolest job around)
My first job was at a big consulting outfit, they hired me no questions asked. I did do ~ 2 years of high-volume DFT calculations on a computing cluster during the phd. Ensure you have some edge that makes it believable that you can operate a linux box/do scripting, and you'll be fine.
Maybe the market is different now, but if I'm hiring people right now, having completed a STEM-ish PhD seems to signal intelligence and perseverance. Just don't come off as an academic know-it-all. Noone cares if you're right in industry, your shit just has to be delivered on time.
Giving yourself the junior dev label just makes it easier for them to place you in an unwanted pile.
people need to value themselves based on how much value they can bring to a company, not if they have x year experience writing js syntax.
During the boom the last few years, people left after a year or 18 months. Only one stayed a full 2 years largely because he wasn't that great. Honestly can't be bothered any more.
This is an interesting point. For better or worse, the people in the tech world aren't "loyal", and salaries are so crazy they are often looking to leverage their experience into a new position as soon as possible. How do you train people up if you're nothing but a feeder trough for bigger companies?
We shouldn’t be surprised when people fly the nest, and for what it’s worth this happens at even the best companies - people leave to start their own businesses.
What we can do is aim to have them do the best work can, build a good rep for our team, and (selfishly) invest in a strong personal relationship with them so that in 10 years maybe they look back and pay back the favor.
Is loyalty to any employer so utterly and completely dead that I need to enter my future employer-employee relationships with different expectations about loyalty after 1/2/4/5 years?
I'm incredibly fortunate to have lucked out at a place that was acquired 2 weeks after I was let go for being in a similar place as you can imagine when someone spends 4 years somewhere without a promotion or any material recognition of that loyalty. So my 4 years was worth something - at least the after-tax value of my exercised and liquidated stock options.
But that's an incredibly risky basis for value gained by staying somewhere vs. value gained by going somewhere else.
And yes - the reality is that companies are non-fungible and every company will have different values, levels of team talent, investment in their team. Taking the same approach to every company you join, i.e. not going in with a goal/plan in mind, is how you get the average/median outcome for everyone at that company. And you should be going in eyes wide open knowing what that outcome is for every company regardless of which approach you take.
It's the same question of why isn't every restaurant great? Why isn't every haircutter great? By definition, that's impossible - some will always be better than others and the goalposts shift.
So why would anyone hire junior developers than?
If you're not at a company that supports those goals...that's a different topic entirely.
A huge penalty for leaving the firm that trained you (within a certain time period) is already the norm in other areas. It's also the entire concept of vesting.
My experience looking at contract work is "yeah, I'm not really interested in being my own benefits manager unless you're willing to pay me $25/hr more to do that work in addition to my regular job".
I'm not really sure why you felt the urge to say this, but perhaps you should be aware that "contractor" status contrasts with "full-time employee" status, not with "at will employment".
At-will specifies who can terminate the contract and on what grounds. It's not relevant to the contractor / FTE distinction.
Between two years and zero days, there's an awful lot of room to adjust a training period.
A letter from an undergrad advisor was usually enough for the strong coders to cut through the noise.
These days most decent coding academies have relationships with hiring pipelines (check before you enroll!), and write recommendations for the strong students. That might only get you an entry level stepping stone job, though. (A letter from a professor with relevant publications is worth much more than a letter from an unknown coding acadamy.)
This may be of limited value; my personal experience with a company that hired from bootcamps was that they hired from just one bootcamp, they were very excited about that bootcamp, and the bootcamp's value proposition to the company was that it didn't admit men.
Although really, the people who were done the disservice to should have stepped back and realized that if something can be mastered (well enough to do it professionally) by any random person in three months, it wouldn't be a valuable skill. Unless they're so arrogant they think they're just that much better than everybody else.
From my seat as a staff-level and involved in hiring:
1. The average "junior" is really a code camp graduate with skill in one very, very specific thing. The skill is limited however and typically insufficient to call them a full software engineer.
2. From (1) the pool of code camp graduates dramatically outpaces people with degrees. In my experience approximately 1 in 5 people I've interviewed have graduated a full program. This creates a few problems. Namely, the low-skilled pool is significantly higher which allows companies to be far more choosy. Additionally, the majority of software engineering roles these days are "wide" meaning you may be expected to do work that requires more than the formulaic approach a code camp gives you.
3. Degreed hires are still being considered and generally speaking aren't having any problem getting jobs. Not only is a degree a value signal it generally speaks to your ability to adapt. While the industry has been slamming degrees as not necessary the variance is significantly higher with non-degreed hires.
This all sounds like I am trash talking code camps and I guess in a way I am. My interviewing has given me this opinion. Despite specifically avoiding algorithmic puzzles people graduating these camps are just typically insufficient. I feel bad for them because code camps generally feel like the modern take on ITT and other for-profit scams from a decade or more ago. A lot of these people simply want the money. Understandable. However, it's simply not enough to get your foot in the door without help from the inside.
All of this adds up to the general consensus that hiring is getting harder. The code camp pool is taking the brunt of the lack of hiring, the code camp pool is large, so the noise they make about the hiring situation is proportional to their experience. As for senior devs this is largely a good thing going into a potential recession. However, getting promoted above that position may get more difficult.
I ended up finding work at my local school district. the two programmers who are in charge of our district of some 12,000 students are both over 50, and they were more than happy to hire me to learn how to keep everything running. it's not a glamorous job, and there's no doubt that my salary, even adjusted for cost of living, is not great compared to many other people who post here… but the benefits are great, and being the future of keeping my childhood school district running on the technology side keeps me feeling fulfilled at work. plus, I have incredible job security going forward.
for any "junior devs" looking for work: I recommend seeing if there's any local government positions like this that are available. my district can't be the only one run by programmers who are closing in on retirement, desperately searching for younger people to learn how to take the reins first. I'm mostly self-taught but even a self-taught level of understanding of SQL was sufficient to get hired—I've since learned quite a bit more on the job but a CS grad should have no problem at all.
Before Covid, I had an excellent setup to train developers using pair programming and working closely together for months.
Now, training is impossible. I cannot train a junior dev remotely, and the job is remote.