It’s well-known in the software engineering field that it’s hard to recruit software engineers. Once, a recruiter once complained to me that most software engineers ignored introductory emails. (In contrast, they told me that typically other professions have a much higher success rate.)
I will try to explain why most software engineers ignore recruiters.
TLDR: Most of the time, responding to a recruiter ends up being a waste of my time: The recruiter stops responding, the interview stinks, or I end up not wanting a job. The job market is too frustrating to interact with recruiters unless I am actively looking for a job.
I get a lot of spam from recruiters who never read my resume. These generally fall into these categories
- Unskilled office work that involves a computer
- Jobs that I am qualified for, but require relocation
- Jobs where I have little experience in the technology stack
In all cases, I wonder if anyone actually looked at my resume before sending me an email.
These emails aren’t “honest mistakes,” either. They are clearly widely sent out, and lead me to believe that someone is just sending out hundreds or thousands of emails without checking that the people they are sending them to are good matches.
This is a problem. SPAMming job postings to a poorly chosen audience is merely recruiters pushing their work onto others. Reviewing resumes is work, and it takes a lot of work on the part of a recruiter to find appropriate candidates. When I’m a job seeker, reviewing job postings is quite time consuming. Recruiters shouldn’t push their job into my inbox.
Unfortunately, the SPAMiness of recruitment emails makes me less likely to respond to a recruiter who has personally reviewed my resume or LinkedIn profile.
How to fix this:
- Review the resume and/or Linkedin profile of each candidate you approach
- Make sure the outreach email contains some personal details that prove that you’re not SPAMing
- Only approach candidates who will need to relocate when there is a relocation package; and mention that package in the initial outreach email.
Many Recruiters Are Difficult to Work With
I’ve lost count of the number of times I’ve emailed back and forth with a recruiter, only for the thread to go cold with no response.
Some recruiters don’t understand the asynchronous nature of email, and request meetings, via email, on short notice.
Some recruiters call me while I’m in the middle of my job and expect me to drop what I’m doing to hear about their new job. (I no longer list my phone number on resumes.)
Often, it’s impossible to ask critical questions about the job.
Sometimes the recruiter’s initial email doesn’t provide any information about the job, beyond a vague location and the programming language. This is not enough information to decide if a job is worth applying for.
Many recruiters don’t know enough about software development to accurately match candidates to jobs. It ends up being guesswork for them, and it’s hard to know, when speaking with the recruiter, if I’m a good candidate.
How to fix this:
- Never, ever, let an email thread drop. Politely end email threads when you will not continue with a candidate.
- Assume that candidates need 24 hours, or more, to respond to any email.
- Be knowledgeable about software development
- Never cold call software engineers
Some Recruiters are Just Ploys to Collect Personal Information
Recently (early 2022,) recruiters started contacting me on LinkedIn about “A Software Engineering Position in Boston, MA.” Instead of providing a link to a job description, the link is for me to sign up for a hiring network. There is always a claim that, if they find me interesting, they will follow up.
I always flag these as SPAM. I don’t believe that these recruiters represent real jobs.
I will not sign up for any website merely to read a job description. I also don’t want to join another career network. I’m already on LinkedIn and get plenty of emails outside of LinkedIn.
Recruiters don’t know “The Rules”
In general, the way that hiring a software engineer works is:
- An introductory phone call with the recruiter or hiring manager; or both
- A technical screening. This used to be a phone call, but it’s now evolved to use a web-based coding platform or screen sharing
- A full interview
The purpose of the introductory phone call and technical screening is to ensure that there is mutual interest between the candidate and company; that the candidate is competent; and to confirm that the candidate has required technical background. Bypassing these (introductory call and screening) ends up wasting a lot of time, because for software engineering, most candidates fail. Either there isn’t mutual interest, or the candidates fail the technical screening.
I’ve encountered a few recruiters who ignore “the rules:”
- In one case, the recruiter claimed, “we don’t get phone calls, we get interviews.” The “interview” was no different than a phone screen, and wasted my time due to travel.
- Another time I worked for a company where HR didn’t know “the rules” and scheduled day-long interviews with incompetant candidates. We could have saved these candidates their day off with a simple phone call.
I’ve learned to keep these kinds of recruiters on a short leash, and either walk away or disengage.
How to fix this:
- Be familiar with general industry best practices in hiring
- Don’t bypass critical parts of the hiring process: Determining mutual interest and introductory technical screenings save everyones’ time
I Won’t Move
Many recruiters approach me for jobs with absurd commutes, or for jobs that require that I relocate.
I’m no longer in my 20s, no longer single, and unable to move whenever I want to.
I live in a home that I built with the intention of living in it for a long time. I’m married to a wonderful wife who has her own career, I have kids, friends, and extended family. We aren’t going to move every time I change jobs.
I’ve been a telecommuter, with occasional office visits, since 2014. It’s worked out great, and the situation works out great for many other software engineers. When I see that a company is hostile to telecommuting, I interpret it as having control issues, or a desire to babysit.
How to fix this:
- Make sure to map out how long it will take a candidate to commute to an office. (Google Maps lets you estimate travel time during different times of the day.)
- Make sure to acknowledge if a candidate will have to move, or have a commute longer than 30 minutes
- Explain telecommuting policies / relocation packages in the initial email
- Explain to employers that hybrid telecommuting is needed to widen the search radius to engineers who live too far away to commute
The Pay is Probably Low
Software Engineering salaries are all over the place. I generally assume that most recruiters reaching out to me are trying to hawk lower-paying jobs.
With few exceptions, I will only pursue a job if I believe it will be a ~20% pay increase from my current job.
Software is an economic multiplier: I once heard that my 4 month project saved a company a million dollars a year. Because the software I write has substantial economic value, I expect a fair portion of the rewards.
How to fix this:
- Only accept recruitment jobs that are at or above median pay
- Give a salary range in the initial outreach email
- Remember that software is an economic multiplier
Interview Prep and Take Homes are Time Consuming
I have firsthand experience interviewing candidates for software engineering positions. It’s greuling. A big problem, when hiring, is that most candidates who come into the interview aren’t capable of doing the job. Even worse, when we hire the wrong person, the situation becomes more frustrating and grueling than the interview process.
The industry handles this by attempting to carefully screen candidates, often through a series of take home exercises, detailed technical exercises to perform in the interview, and extensive interview preparation exercises.
Interview preparation and take-home exercises compete with the time I have for my family and other commitments. Interviews during business hours require that I fib to my current employer about my whereabouts.
How to fix this:
- Make the job appealing before I need to invest precious time
- Have me meet with the hiring manager on the phone or videoconference before time consuming activities
- Make sure to explain this process in the initial contact email
The Company Probably Rejects Most Candidates
This isn’t something I admit that often.
Software engineering interviews are notoriously fickle, for so many reasons that I could write another article about all the problems I’ve encountered interviewing. In summary, for every good interview I’ve encountered, I’ve also had poorly explained questions, questions that require that I know some obscure algorithm, or interviewers who want to prove that they’re smarter than me. Sometimes I wonder if the interviewer has some bias.
When interviewing candidates, a common piece of wisdom is to reject when in doubt. I’ve interviewed a few “maybes” that I rejected. This is because it’s easier to “move to the next candidate” instead of putting up with a bad hire. I’ve also seen hiring an excellent candidate fall through because the hiring manager screwed up the process.
Aside: We really need a Credentialing Process
Many professions have a credentialing or licensing process to smooth over situations like this. My wife is a pediatrician, and the jobs she sees posted can only be applied to by credentialed pediatricians. She does not have to prove competency during the interview process.
Compared to interview prep, take-homes, or complicated interview questions, I’d much rather get credentials. It’s a better time commitment to earn credentials that I can use for any job interview; and it works out for the company’s favor because they don’t have to figure out if I’m competent.
How to fix this:
- Try to find some kind of a proxy for credentials
- Recruiters: Develop your own technical screening process so you can screen a candidate once and let them interview at multiple companies
I Might Not Like the Job / Company
Job interviews are a two-way street; I’ve bowed out of a few job interviews because I believed I wouldn’t like the job. Unless I’m desperate, I’m not going to risk leaving my current job if I have any suspicion that a job I’m interviewing for is going to be a difficult environment.
How to fix this:
- Carefully screen the hiring managers that you recruit for
Conclusion: Let’s talk the odds
When Syncplicity hired me, my manager told me that they phone screened 100 candidates, interviewed 10, and I was the first one they were comfortable hiring. (I then went on to make us an industry leader.) In my experience, this was accurate. We rejected many candidates on the phone screen, and many on the on-site.
- Fail the interview: There is a 1% chance of getting an offer from a phone screen with a manager
- Recruiter drops the ball: There’s a high chance a recruiter won’t respond back to me
- Won’t accept the offer: There’s a high chance I won’t like the job, or the pay will be too low
Thus, in my estimation, responding to a recruiter outreach has less than a 1% success rate for landing a job. It’s a fool’s errand.
That’s why software engineers don’t respond to recruiters. We have better things to do!