all posts

Why is recruiting developers so difficult?

Aug 9, 2022

A recruiter knocks on the door while the developer answers at the window

Recruiting developers is difficult and expensive, and looking for work as a developer isn't much fun either. Hiring managers read countless resumes while developers scroll through lengthy job descriptions to find what they want. It doesn't have to be so bad!

Recruiters are incentivized to bring you quantity over quality

Looking at resumes is expensive because (1) hiring managers are usually well-paid senior people and (2) reading resumes takes time and energy.

The majority of recruiters that I’ve worked with get paid when we hire a candidate they've sent us. I may be interested in finding the right person, but our recruiter is mostly interested in getting me to hire somebody (and soon). Our incentives are not aligned. It may not seem like a big deal, because you both want to hire someone, but you care about quality and they care about quantity.

They end up sending me as many candidates as they can, which doesn’t necessarily get me any closer to hiring someone good, but it does take up a lot of time, and sometimes it works out. It's like if you ordered a cheeseburger but all I've got back here are hotdogs so I'm just gonna keep sending out hotdogs until you finally eat one.

Strict when we can be loose, loose when we can be strict

Most of the candidates I see when I’m hiring only overlap with a small percentage of the criteria I’m looking for. For example, if I want to hire someone with 10+ years of experience who’s going to work on a complicated go api, I’ll get resumes from candidates who have <2 years of experience, but have written some go. I won't necessarily see the developer with 15+ years of C++ experience who would probably be a much better fit.

We're often strict about criteria that we can be relaxed about — like experience with a specific programming language (in most cases) — and relaxed about criteria that we can initially be strict about, like pay, schedule, seniority, and work-culture values.

If I know I only want to see very experienced people for this backend job then let’s start by ignoring everyone who isn’t in that group. It’s my problem if that search criteria is so narrow that I don’t get any matches.

Resumes tell you what they did, but not what they want to do

I think most developers are like me: they want their next job to be more interesting than their last job. I’m more interested in getting better at something new than I am in repeating work I’ve done before.

My resume, however, is a summary of what I’ve done, not an expression of what I can do and what I want to do next. Hiring managers can’t easily see what I want to do next, and my resume doesn’t tell them either. You can do this with a cover letter, but those take a long time to write and read, and you don't need a whole page to tell someone that anyway.

Only a fraction of developers are actively looking for work when you’re hiring

Developers, especially good ones, are in very high demand, so the odds that a good developer is looking for work when you’re hiring (unless you’re always hiring) are low. It should be possible to reach developers who are already busy if the position is truly a great fit for them. Personally, I still want to know about opportunities that match my preferences when I’m working somewhere, I’m just not going to take the time to go out and find them. Because looking for work is boring. And I'm lazy.

Job descriptions don’t tell developers what they want to know

When I’m looking for work I want to know a few things before I contact the company or talk to someone:

  1. What will my schedule be like?
  2. What’s the pay?
  3. What will I do all day?
  4. Will I get along with my co-workers?
  5. Is the CEO going to text me at midnight and use capslock when he's upset?

Job descriptions have improved lately but they’re still mostly full of information I won’t care about until later in the hiring process.

Direct contact for jobs I won't like

I like hearing about jobs I’ll like, but it’s very rare that a direct email or LinkedIn message from a recruiter is for a job I’m interested in and matches my preferences. Most of the time it seems like I was part of a “contact anyone who has experience with $technology because we really need to hire someone” campaign.

Hello Nicholas,

We noticed that you have experience with computer programming.

Well, great news! Our client is going to be using computers (and computer programming!) to disrupt business.

Are you interested in hearing more? Call me!

There's a lot of programmer ire toward recruiters for this type of thing, but it's not like recruiters want to spend their time contacting uninterested developers just to annoy them. (Also, we're really lucky that we like to do something that's currently in demand). Recruiters don't have great tools for reaching the people who do want to hear from them, and it's preferable to contact someone who isn't interested at the risk of not contacting someone who is.

How can recruiting developers be improved?

  1. Focus on prioritizing strong matches between candidates and positions, which is a move toward quality and away from quantity. Put fewer, better resumes in front of hiring managers, so they can spend less time recruiting and more time hiring.
  2. Enable a candidate to express what they want to do in the future, not only what they’ve done in the past.
  3. Find a (targeted) way to reach good candidates who aren’t actively looking for work but are interested in hearing about situations that are better than what they have today. Don't hope that they will come to you, because they probably won't.
  4. Give recruiters "equity" in developers they help hire so they are incentivized to find people who will stick around and succeed.

How can searching for a developer job be better?

  1. Let developers express their preferences — schedule, pay, culture, the nature of the work, etc — and then only send them jobs that match their preferences.
  2. Give them the opportunity to decide if they want to connect with the recruiter or company, and let them control who gets their email address.

Polyfill matches developers and employers together

Developers find jobs they actually want.

Employers reach developers who want to hear from them.