Hiring Tech Talent for Startups in One Sprint: Part 6
Juniors Need Not Apply
Coding bootcamps, become a developer in two weeks, state sponsored coding schools, free coding schools, only pay when you get a job, free online coding schools, mentorship programs, career advisory, planning and training, AFANG scholarships, AFANG sponsored training initiatives. There are probably at least ten training options to become a developer, tailor made for any one person at any given time and place. The barrier of entry into the profession is pretty much shattered and that’s amazing! Organisations and governments alike are responding massively to the shortage of professionals in the software engineering space, finally we can start filling those engineering roles that roll over every year, right? Wrong! Well, everything before ‘finally’ is right, we just aren’t going to fill those roles anytime soon and it’s not because bootcamps aren’t churning out enough developers. It’s because of the most interesting paradox I’ve witnessed in my professional career
For an industry so relatively new, mentorship heavy and where over 90% of the professionals grew to fill the shoes they wear under training and mentorship conditions; Software Engineering is incredibly unfriendly to junior and entry level professionals
No matter how brief, every seasoned software engineer was once junior and in need of growth opportunities. They only became senior because they managed to go through a lot of problems of varying complexity. Startups are especially positioned to provide these opportunities but have a subtle bias against junior engineers. For all the hundreds of thousands of engineering job posts out there, there are only a handful of junior roles for every few hundreds of mid-senior level roles, and even those junior roles are pretty much just junior in salary. The requirements and interview process tend to closely approximate a mid-senior level requirement. A true junior role job description will pretty much just be: “Familiar with a programming language and has the right attitude to work and learn in a fast-paced environment”. A lot of junior engineers are bootcamp graduates and have only really worked on bootcamp projects, which in most cases are actually significant enough to make them competent to deal with some technical challenges in any startup. They can implement simple features and can make bug fixes and between those two, you’ve probably covered 80% of the engineering work being done in most startups. Juniors should naturally grow into mid level engineers over time and are generally expected to be able to implement features end to end as per specifications while senior engineers would be expected to have an input in the specifications and architecture discussions along with high level implementations of tools and processes to facilitate effective engineering altogether. This sounds like something that must necessarily be evolutionary. I’m of the opinion you can’t train to become a senior software engineer. You must necessarily grow to become one. This begs the point that startups are killing their own future by refusing to invest in junior engineers. If no one takes a chance on junior engineers, there’ll simply be less senior engineers in the future. It’s not very complex maths to work out.
When companies ask for mid-senior engineers only, they are simply recycling the same engineers in the ecosystem and increasing the demand for experienced engineers while ignoring engineers that could potentially grow to that level in a few years. I understand startups are generally more short-term goal oriented, but recruitment is as much an investment as anything else. You’d expect that much to be known given the amount of money that’s paid out as commission to independent recruiters and agencies. Every time a junior engineer is given an opportunity, the market becomes a bit more balanced and the future becomes a bit more secure. The thinking needs to evolve from seeing junior engineers as needy drawbacks to potential high impact contributors. Also, there’s an illusion of need which is closely related to what has been discussed in previous parts. It is possible to get to a saturation point with more senior engineers. Overstocking on senior engineers guarantees you’ll move faster only about as much as having a more experienced co-pilot means a flight would arrive faster. The ratio of senior to junior engineers present in most startups is nothing short of indicative of an implicit industry bias against junior engineers. Being junior doesn’t imply mediocrity. It’s simply the absence of more experience despite the abundance of skill, and experience only comes if people are given an opportunity. Fun fact: Until we get to the pinnacle of our careers, we’re in a constant shuffle between being a junior and being an experienced professional. The day you become a senior engineer, you are technically a junior senior engineer going by the fact that there are lots of senior engineers who have been senior engineers for longer. The pay scale also often reflects this and this might even be a major contributor to the imposter syndrome. Your first day in every new level or promotion is the beginning of a junior phase in your career. Even as a cofounder, if it’s your first foray into being a founder, you are a junior cofounder, well, as long as the definition of junior remains consistent: a [possibly] skilled person with less experience in a certain role. Reserving the term for the very first entry-point is probably why it has become a swear word in tech recruiting when in fact, we are all constantly juniors.
For the few that do hire junior engineers, most of these roles are senior roles in disguise. Some are mid level roles in disguise and very few of these already few roles are truly junior roles. A junior engineer’s greatest — and sometimes only — asset is the ability and hunger to learn and become better and the recruitment process should reflect an understanding of this. Right from the job descriptions, junior roles are already presented as if to say: “Juniors need not apply”. We’ve all seen the memes. There’s a new one everyday, so I don’t need to dwell on that. Maybe it’s more worthwhile to look at the deeper reasoning behind this. Why would a startup put out an advert for a junior role asking for more senior skills and experiences? Surely they aren’t stupid, so what is the problem. Well, the short answer is: budget! They need additional hands, need to solve supposedly mid-senior engineering level problems, don’t have the budget for that, agree to hire junior engineers, but put forward a mid-senior engineer wish list nonetheless and cross their fingers. It’s basically an ad for desperate experienced engineers who are willing to earn less than they are worth. Which also explains why these roles are frowned upon and hardly filled. The people who do qualify for them would probably laugh at the salary being offered. The interview process for these roles exhibit the same traits as the job description and ideas behind the formation of the role likewise. Candidates are simply asked non-junior questions. The lack of experience often affects the outcome of an interview for a role that is by definition a non-experienced hire. A junior developer has potential, passion and ability, not experience, so if you will google it on the job, then it’s okay to google it in the interview. Simple!
If we are in an industry that has very few junior role openings and most of them are actually just mid level openings on a junior budget, where then do we put all the bootcamp graduates? I’m starting to average 1.5 recruiter reach outs per day and some engineers have even more, but junior engineers are having to make the same amount of reach outs to recruiters and companies. There are thousands of job openings and thousands of bootcamp graduates, but nope! Startups would rather chase after developers in a relationship with another company. If the budget is why many junior openings aren’t really junior, we still haven’t addressed why there aren’t many [truly] junior roles. A random search on indeed for “junior software engineer” and just “software engineer” puts the ratio at about 1:113 in the United States, 1:14 in Germany and about 1:10 in the United Kingdom, the highest number of available jobs and largest sample size being the US. Across those three markets, there are essentially 3 junior software engineering roles for every 140 software engineering roles advertised. If we adjust for ‘truly junior’ requirements, it’ll be around 1 or 2 for every 140 or, if working with averages instead, 1 for every 46 which is just as bad. At this point, it’s quite clear where we’re headed with bootcamps and training programs targeting a job pool of 140 when in fact, only 3 at most are wanted. We’ll have the most 21st century irony I can think of: Lots of unemployed software engineers. So why do companies (mostly startups) only want 3 junior software engineers for every 140 they hire? Well, apart from the illusion of needs described previously, I think a major factor is the fact that: more experienced hires come for cheap! Simple as that. It’s a basic finance decision we all make daily. A quick research on the German market on payscale.com puts a junior software engineer income average at about €42k with a €51k upper bound, a search for “software engineer” reveals an average of €54k with a €40k lower bound and a “senior software engineer” earns an average of €64.9k with a €51k and €81k lower and upper bound respectively. Make what you will of that information, but all I’ll say to that is this: if a PS3 rightly costs $420 on the average but the cheapest PS5 I can get is $510 and I can get a PS4 within that $420 — $510 range as well, I don’t know what I’ll buy, it depends on how much I have to spend, but I know I’m definitely not getting a PS3 even if the only game I want to play is God of War 3. This is unfortunately a problem I do not have a solution to. As long as the inequality in the world prevails and the industry opens up beyond borders (which is a good thing), this will unfortunately keep happening. The average Eastern European, African or Indian senior software engineer will happily take that €55k paying job. It’ll be small in the context of Germany, but to them, an upgrade in more ways than one. Only employers have the power to change this by ensuring fair and standard industry pay, but we both know that would not happen.