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!
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.
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.
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.
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.
When I’m looking for work I want to know a few things before I contact the company or talk to someone:
Job descriptions have improved lately but they’re still mostly full of information I won’t care about until later in the hiring process.
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.
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.