Senior engineers aren’t junior engineers who code faster

As an employer of software engineers, one of the most frustrating things about the hiring process is the obligatory weeding out of unqualified candidates. I understand how demoralizing it is as a junior engineer to go through dozens of job postings for experienced roles that all require years of experience. “Doesn’t anybody want to invest in employees anymore?”

I thought I might try to explain this from the perspective of an employer and “experienced” engineer.

Yes, we’ve all heard of the junior engineer openings that require 5 years experience in 3 year old technologies. These apocryphal job postings are all myths (or jokes; if you want to prove me wrong, feel free to send examples). And yes, there are cases where people stumble into jobs they aren’t qualified for, because there are weak organizations out there, humans are imperfect, and incentives can get out of whack:

  • Hiring managers with tight deadlines like to enjoy thinking they are filling roles at below market rates.
  • Recruiters want their commissions.
  • Candidates who need a paycheck now are more than happy to oblige by lying about their qualifications.

Most of the time though, the┬ávast majority of job postings have experience requirements because that’s what it takes to perform that job function[1]. My first and best argument for this is based on economics: It doesn’t make any sense otherwise – why would an employer limit their candidate pool and raise their cost if they don’t need to? If it could be done by a junior engineer, there’s every reason to believe that’s what the job posting would be for.

The second argument is that there are many cases where success is binary – either the software works as required on game day, or it doesn’t. Either an engineering team is inherently capable of delivering the solution at the right performance and scalability required, or they aren’t.

As a junior engineer, it is easy to fall into a wishful thinking trap that roughly goes “I could fill this role and perform those duties, if only they gave me the chance and invested in me.” Something something about training and learning on the job. Something something about fresh ideas and new perspectives. But this is a complete misunderstanding of how seniority in software engineering works. A senior software engineer plays an entirely different role altogether than a junior one, the same way a lead cardiac surgeon plays a completely different role than a first year medical student. The fact that the student is gaining experience and will eventually become a surgeon is of no consequence, because the student is categorically unqualified to fill the role of cardiac surgeon today. You wouldn’t hire a first year student, if you really needed a cardiac surgeon today.

Why does this trap persist then? I guess it’s because junior engineers don’t know what they don’t know. They don’t understand the concept of levels of work. Early in my career, I definitely didn’t. They don’t appreciate that you can’t always make up for a lack of experience with enthusiasm, smarts, long hours, or whatever. Junior engineers don’t yet understand that finding engineering problems to solve is inherently more difficult than finding solutions to problems, which is in turn more difficult than implementing prescribed solutions. There is, in other words, a mismatch in the capabilities expectations between the candidate and the employer.

And whose opinion are you going to trust more? The cardiac surgeon who says “I need a cardiac surgeon”, or the first year medical student who says “you don’t need a cardiac surgeon; you need a first year medical student”?

What’s a junior engineer to do? The answer is probably unsatisfying: keep looking. Junior engineer roles are out there. The work will be matched to your level, and you’ll have the support and mentoring of more senior people. You’ll be happier. You’ll be a senior engineer for much longer than you’ll be a junior engineer, and some day you’ll appreciate that they are not interchangeable.

[1] A candidate has nothing to lose by applying to a job without the necessary experience. Some job posters compensate by “requiring” 3 years experience where the real requirement is say, 2 years. Since men apply to jobs to which they aren’t qualified at extraordinary rates compared to women, this has the nasty side effect of making gender imbalance issues more severe.


Leave a Reply

Your email address will not be published.