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.
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.
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.
This however does not seem to be the case with smaller companies that actually do have offices, in my experience.
Others may not have the same issues as me, but I know quite a few people near me who are in the exact same boat. It's really unfortunate. I've seen jobs in my area reject me for not having enough experience not even getting to an interview for me to check, and half a year later that position is still waiting to be filled.
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
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.
But the frank reality is that the definition of "junior" has changed significantly compared to 5-10 years ago. The education options for becoming a software engineer have broadened dramatically. As a result, the barrier to entry for simply submitting a resume to any given req is much lower. And while this is manifestly a great thing for inclusivity outcomes, it has disproportionately worse impact on the signal-to-noise ratio in the hiring funnel.
I think many orgs are still in the process of evaluating their risk tolerance for bringing on unproven talent. I do think _some_ risk is warranted, but its very easy over time to accidentally index too far in either direction.
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.
Training junior developers is hard and timeconsuming. It also hurts that the variance of quality of software engineers starting out is so wide. There is so much risk involved with someone with 0 experience. More often than not, you get guys who cannot code their way out of a box without you holding their hand every step of the way. Every once in a while you get a crazy whale who can probably code Optimus Prime from scratch.
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.
(I understand why these people are taking the shotgun approach and applying everywhere because some company will bite but it can be annoying on the receiving end)
My company is hiring junior devs all the time.
From what I've seen a lot of startups seem to need "full stack" programmers, who can program ReactJS. Especially before a series A these companies usually can't afford to hire senior programmers, or even regular programmers, so it is a good place to get your foot in the door and get some experience, although probably at the worst pay.
Then there are consulting companies. As you are going in on a team, and the companies you are being placed at often do a mini-interview before you go in, and your placement contract can be for just a few months, companies you are placed at are less worried about taking a risk bringing you in. The trick is the level - the consulting company might not care much what level you're at, but the company you are being placed at generally wants someone who can bang out features cleanly and with little to no help. I have seen 22 year olds just out of coding boot camp being placed as "senior" programmer for a three month stint, which they are generally not reupped for - and I have heard this happens in other places too. It gets you in the door but it's hard to stay there. If you're not reupped and on the bench, the consulting company might show you the door fairly quickly too.
Some Fortune 1000 companies have internships, generally for college students, and the ones who managers and mentors are happy with can get offers as a junior/associate when graduating. It's probably good to try to intern at a different company each summer and to keep in contact with managers and mentors. It also depends on the job market - people who graduated in 2000-2001 or 2008-2009 or maybe now probably have worse luck than graduates at other times.
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?)
http://www.smashcompany.com/philosophy/the-grace-hopper-divi...
In general, every project needs some experienced engineers and then a larger number of novice engineers. In any software project there is a large amount of work that is tedious and almost secretarial — you don’t want your most experienced engineers bogged down in that muck. It’s important to have some novice engineers who can handle that kind of boring grunt work.
As a junior, you gotta lower your standards and get into the field. This isn’t like 10 or even 5 years ago. Junior developers are abundant. Boot camps are pumping out “qualified” (I don’t mean this to be rude, but many boot camps are not qualifying people to do real enterprise work. There is a gap, you have to find a company willing to bridge that.) candidates en masse. Do something that sets you apart. Make contacts.
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.)
Best advice is that you don't need a job to become a mid or senior dev:
Go contribute to open source projects. It's the best hiring indicator we have and it's much better at teaching you real world programming than boot camps or CS degrees (I have a CS degree but learned basically nothing about how to actually build software).
As an aside, I find that labeling of junior and mid-level and senior very confusing because I've been interviewing people who claim they're experienced but don't even understand the basics. And I am not talking about algorithms or white boarding or live coding or any of that nonsense.
This is in Australia but may not be country-specific. The job ads I've been noticing for the past couple of years are asking for an increasing amount and level of experience for their roles so I agree with you that it will be a problem in the future.
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.
YouTube, Udemy, Exercism, TryHackMe - these allow anyone with an internet connection to learn, perhaps with the aim of entering the industry.
We're not actively hiring new Junior positions right now due to having the right balance across the team - but just to provide some anecdotal evidence that some companies indeed have been hiring Junior engineers recently.
I worked a lot of hours through my degree in a non-tech position (Bills/Tuition are expensive) and as a result don't really have much in the way of a portfolio outside of stuff built in class. That seems to be a big limiter but at least something I can work at.
I did take a volunteer position for a local non-profit over a few summers when I had the time but it was more sysadmin/helpdesk style work and nobody seems to care. I've had such a hard time I'm actually looking into joining the Military.
I am personally of the opinion that experience isn't a good indicator of programming ability, but it may be an indicator of software engineering capability. See here https://blog.codinghorror.com/skill-disparities-in-programmi... (links to a study and talks about this point more)
I've worked with masters students who were far better programmers than senior engineers I've worked with.
I left the company to take an L3 position at Google, where I will be starting shortly.
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.
Many many people in my class took six or more months of applying constantly to eventually receive an offer. It's doable but it's a full-time commitment, and I see a lot of unconscious bias in who ultimately gets a job v. who doesn't.
A lot will tell you, you need to do X,Y or Z but I think that's the real picture for a large majority.
What situation is this referring to?