The Underlying Cost of Getting a New Engineering Job
Tags: career
Published: 2019-11-07 16:38:59

Our company, BeamJobs, is in the hiring space. Since we started in May of 2018 I’ve had the opportunity to talk to close to 1,000 software engineers about their job search. Far and away the most common feedback I get from engineers is how much they thoroughly love looking for a new job and how when they’re on vacation they yearn for those times when they were updating their resume. Just kidding, getting a new engineering job generally sucks (roughly ⅔ of those 1,000 engineers had a negative experience in their most recent job search).

For the last few weeks I’ve been trying to figure out an angle to write about why looking for an engineering job is so egregiously sucky (it's in merriam-webster so I'm counting it as a word). I think the fundamental reason is that there is a huge cost to finding, applying, interviewing, and ultimately landing a new engineering gig in terms of time and effort required. In this article I’m going to calculate the opportunity cost for the average developer to get one job offer. Opportunity cost is the amount of money that you could have earned if you had been working instead of say, doing an interview. Now, this is not to say that you necessarily would have spent an hour working instead of interviewing (if history is any indicator I likely would have spent that hour napping) but it’s a helpful framework for converting time spent into dollars.

I don’t want to bury the lede so here are my results. Based on some rough calculations (which are detailed below) it costs the average software engineer **$1,814** and **1.7 vacation days** to get one job offer. I broke the job searching process into two stages to get to this total. First, it costs $600 to find and apply for the requisite number of jobs to get one offer. Second, it costs $1,214 to interview at the requisite number of companies to land that offer.

At BeamJobs we have a [free product for software engineers](https://beamjobs.com/) to deliver highly customized monthly job recommendations right to your inbox. We search the internet for the engineering jobs you’re looking for so you don’t have to. We’re looking for early beta users and we’d love your feedback!

![Getting a job is hard](https://thepracticaldev.s3.amazonaws.com/i/2c5ebt85jvxl2lmlquqx.jpg)

##The cost of finding and applying for engineering jobs

In my experience engineers are generally in one of two states of applying for jobs. They’re either actively applying or passively applying. Active job candidates are reaching out to their network, looking on job boards, using job marketplaces like Hired, etc. Passive candidates are largely responding to cold emails or LinkedIn messages from recruiters or are selectively applying to roles that they stumble across. The big difference is that active candidates are seeking out jobs to apply to and passive candidates are letting new opportunities come to them.

I make this distinction because the cost (in terms of time) of finding and applying to jobs is significantly higher for active candidates than it is for passive candidates so that’s who we’ll focus on in this section. To get at the cost of finding and applying to enough jobs to get one job offer for the average software engineer we’ll make the following assumptions:

* Based on the data we have from the companies we’ve worked with, engineers who are “qualified” for a given role pass the resume review stage and move into the first interview stage about 25% of the time they apply.
 * This number has some caveats. This assumes the candidate is applying without having a relationship with the company. The interview rate goes way up if you are referred to an open role from a current employee at that company for example.
 * “Qualified” in this context means the candidate has the requisite years of experience listed in the job description. There is obviously more to determining the quality of an engineer but this is a good rough starting point.
* An average developer will need to do 12 phone screens (the first stage of the interview process) to get one job offer. We justify this number in the next section but for now, let’s take it as a given.
* The average software developer makes a base salary of $103,000 according to [Glassdoor](https://www.glassdoor.com/Salaries/software-engineer-salary-SRCH_KO0,17.htm). Assuming a 40 hour work week that amounts to a rate of roughly $50 per hour.
* Let’s say we’re being a bit selective about the jobs the average engineer is applying to. That is, they’re applying to jobs that they’re actually interested in and qualified for. It takes some time to find those jobs on a job board, explore the company’s website, check the Glassdoor ratings, check news about the company, fill out the application, etc.. so let’s assume an engineer can find and apply to 4 such jobs in an hour.
* So, in total the average engineer will need to apply to 48 jobs (12 phone screens / 25% apply to phone screen rate) to get one job offer.
* This brings us to a total opportunity cost of **$600** (48 applications % 4 applications/hour x $50 hourly rate) for an engineer to find and apply to enough jobs to land one job offer.

This $600 opportunity cost applies mostly to engineers who are actively applying to new roles. The opportunity cost for passively looking engineers is largely concentrated in the interview process (which we breakdown the cost of in the next section). Reduce this cost by using our [job recommendation tool](https://beamjobs.com/). We’ll send you five hand-picked jobs each month that you’re qualified for and that match your interests, no effort required on your end.


##The cost of interviewing for engineering jobs

![Interviews required to get one software engineering job offer](https://thepracticaldev.s3.amazonaws.com/i/l16h5qsuw07utelw0m4k.png)

Congrats, you got past the resume review part of the application process and now you can start the interviews. This is more expensive part of the job searching process for engineers both in terms of opportunity cost and in terms of stress. We’ll make the following assumptions in arriving at the opportunity cost of interviewing for enough engineering jobs to land one job offer:

* [According to a 2017 Recruiter Sentiment Study](https://zety.com/blog/hr-statistics#job-interview-statistics) by MRI Network, 82% of the time at least three interviews come before a job candidate gets an offer. So conservatively, let’s assume the average interview process is 3 interviews long and doesn’t require a take home assignment.
 * Assume the first interview is a 30 minute phone screen.
 * The second interview is a one hour technical call.
 * The third interview is in person, it requires half a day off to attend, and it lasts 3 hours long.
* Assume 70% of the time an engineer passes the phone screen, 40% of the time they pass the one hour technical call, and 30% of the time they pass the in-person interview (I made conservative estimates from [Triplebyte](https://triplebyte.com/blog/how-to-interview-engineers) data). This means that 8.4% of the time an engineer gets an initial phone interview they’ll get a job offer from that company.
* So, all in, how many times does the average engineer need to complete each stage of the interview process to get one offer?
 * Final round, in person interview: 1/ (30% final round pass rate) = 3.3 final round interviews
 * Second round, technical interview: (3.3 final round interviews) / (40% second round pass rate) = 8.3 second round interviews
 * First round, phone screen: (8.3 second round interviews) / (70% first round pass rate) = 11.9 initial phone screens
* Now, if we multiply by how long each interview takes then multiply by the $50 hourly rate of an engineer above, we arrive at how expensive it is to complete the interview process to get one offer:
 * Final round opportunity cost: 3.3 interviews x 3 hours per interview x hourly rate = $500. Don’t forget the half-day off work required to attend each of these (assuming you can’t coordinate in-person interviews across companies). So that’s 3.3 interviews x 0.5 days off = 1.7 days off.
 * Second round opportunity cost: 8.3 interviews x 1 hour per interview x hourly rate = $417.
 * First round opportunity cost: 11.9 interviews x 0.5 hours per interview x hourly rate = $298.

Based on this model, the total opportunity cost for software engineers to interview until they get one job offer is **$1,214**. This is in addition to the very real cost of having to take 1.7 days off work! Keep in mind, this is a conservative estimate. We’re not factoring in take home assignments, the time it takes to prep for interviews, travel if needed, etc…

There are cool companies in the hiring space, like the aforementioned Triplebyte, that are reducing this cost by having engineers do one coding challenge to get multiple in-person interviews. The issue for engineers is that only [3% of people](https://triplebyte.com/company_faq_learn_more##targetText=About%2030%25%20of%20candidates%20who,total%20pass%20rate%20of%203%25.) who take Triplebyte’s coding challenge pass it. Therefore the other 97% are left to incur all of these interview costs.

Very few non-sadistic engineers actually enjoy the process of finding and getting a new job. It takes time, it’s stressful, and you often don’t know where you stand with a given company. The framework we laid out here is just a very basic tool to approximate the opportunity cost of getting a job offer for an engineer. There is a ton of variation around all of the assumptions that I’ve laid out. I wanted to go through this exercise to give our company something to strive for. Our ultimate goal is to reduce the opportunity cost (and associated stress) of finding the right job for engineers to as close to $0 as we possibly can. We’d love if you [joined us](https://beamjobs.com/) on our journey!