Software engineers are among the most sought after talent. To win them for you, you have to know where to find them, how to reach them and what attracts them.
Almost every company employs software engineers or is planning to in the near future.
And the number of number of software developers employed is only growing. By 2030, the amount of software engineering roles is expected to have grown by 22%.
The demand is high for developers. But the supply of developers is not catching up fast enough. That means we can speak of a talent market scarcity; an insufficient supply (talent) to fill the demand (open jobs).
The result of this is that it has become harder and harder to find the right engineering talent and win them for you.
This guide serves as your practical playbook to learn new sourcing strategies and methods to find, reach and attract engineers.
Recruiting talent starts with understanding who you want to recruit in the first place.
A software engineer, sometimes called developer, coder or programmer, is typically a real problem solver who can work systematically through complex problems.
Some developers are focussed on building new things, and some are focussed on maintaining systems and making incremental improvements.
In this guide we primarily focus on the developers who build new software.
Characteristics of software developers:
Software engineers are hard to find and hard to get. Experienced developers get a lot of messages from recruiters, in some cases five or ten messages per day.
What does NOT work anymore is doing what everyone is already doing; going on LinkedIn and relentlessly searching and sending InMails.
To find engineers and win them for you, you have to be searching for engineers in different sources, reach out based on their preferred contact details, personalize outreach and make an attractive offer.
This guide will help you based on these 5 steps:
Step 1. Explore your talent pool
Step 2. Search and select
Step 3. Find out more about the candidate
Step 4. Reach out and engage
Step 5. Make an attractive offer
To get a decent view on who you’re trying to find and how hard it is to attract them, it helps to map out the current talent market.
A talent mapping is an overview of the total addressable talent market for a given job compared to the demand for that talent.
Below is a summary of the steps to follow to do a talent mapping for engineers.
The outcome of a talent map for an engineering role is that you know how achievable the hiring goal is and what kind of limitations you can expect in the sourcing process.
Below is a summary of steps for a talent mapping (for a detailed guide refer to this complete guide to talent mapping).
Determine the hiring goal together with the hiring manager. Get the key questions answered before you deep dive into the actual search and analytics.
Questions to discuss with the hiring manager:
Determine what the profile of the desired candidate should look like.
Translate the mental picture of the hiring manager of the ideal candidate to a set of job criteria.
The required high level profile can look like this:
Do a search based on the defined job criteria.
Is the available talent pool big enough to achieve your hiring goal? If not, discuss the limitations with the hiring manager and remove or adjust job criteria.
You can use a tool to determine the size of the talent pool.
Validate if the profiles resulting from your initial search are indeed within the envisioned position.
Make a randomized selection of profiles by selecting eg 10 - 20 profiles out of the entire set of found profiles.
Do this across all search results pages to adjust for bias by the algorithmic ranking (of eg LinkedIn).
Enrich the talent mapping by including talent demand. How many organizations are looking for these talents?
Look on job boards for similar jobs to get an idea of how competitive the market is for these talents and how much demand has changed over time.
Don’t forget that a lot of recruiters are pro-actively sourcing and not necessarily posting on job boards.
If you can find data on searches, include that data in your analysis. If not, note that in your talent mapping.
Talent mapping result:
Now you have your talent map ready and you know in which talent pool you are recruiting in, you can start your actual search.
There are a couple of things to keep in mind when you're searching for engineers.
First you need to make a selection of platforms where your candidate can be found on.
There are many online places where engineers hang out and can be found.
This is an overview of some of the sources where engineers are active.
Overview of engineering platforms 📜
Your best bets are GitHub, Stack Overflow and LinkedIn.
Read more on how to source these platforms here:
How to recruit on Stack Overflow
Now you know where you are going to search your candidates, you need to know a couple of things about building your search strings.
1. Include synonyms for technologies and job titles
There are many synonyms for technologies used by engineers.
Look up the synonyms for the technologies you are searching for and include those synonyms in OR statements in your search string.
Also take into account the job title synonyms for software engineer.
Include these job title synonyms in your search:
engineer OR developer OR programmer OR coder
An example of a complete X-ray search string can be:
If you don't want to build complex search strings including synonyms, you can also use a search engine that automatically includes synonyms of technologies in your search.
2. Use the right search operators
Recruiters use the Boolean operators AND, OR and NOT (-) before or in between keywords so they can specify their search strings and find the people they want.
What many recruiters don't do is using the additional search operators that are available for most search engines.
Doing so can make your search a lot more targeted and you can find profiles that most people don't find.
Overview of search operators and their function:
Site: tells the search engine to look for results in a particular site.
Example: site:stackoverflow.com/users engineer
AND tells the search engine to look for keyword X AND keyword Y.
OR tells the search engine to look for keyword X OR keyword Y.
Example: site:nl.linkedin.com/in engineer (Angular OR Typescript)
NOT (-) tells the search engine to exclude keywords, phrases or domains.
Example: site:linkedin.com/in marketer -intern -trainee
Quotations “ ” tells the search engine to search for an exact phrase.
Example: site:linkedin.com/in (engineer OR developer OR programmer OR coder) "open for opportunities"
Brackets ( ) tells the search engine to group certain keywords so you can combine them and separate others.
Example: site:linkedin.com/in engineer (fintech OR finance)
Intitle: tells the search engine to look for the keyword in the title section.
Example: site:linkedin.com/in intitle:(engineer OR developer OR programmer OR coder)
Inurl: works very similar to the Intitle: operator, but it searches for keywords in the url.
Example: inurl:(resume OR cv) python r snowflake
Filetype: tells the search engine to look for particular file types only.
Example: filetype:pdf intitle:(cv OR curriculum vitae OR resume) java engineer
Asterisk * tells the search engine to include a wildcard in (part of) the search.
Example: site:linkedin.com/in intitle:manag* engineering
If you don't want to think about using all the right operators, you can also use a search engine that automatically searches for you based on your job description.
Useful resources to nail your search:
Chrome extensions that make searching easier:
Lots of recruiters are spamming engineers with automated, impersonal messages. These usually are messages that are easily ignored by engineers and leave recruiters disappointed.
So how can you make sure you do stand out from the automated crowd?
Doing your research into the individual engineer is a real good start.
The more you know from the engineer you're trying to recruit the better you can address their potential needs and personalize your message.
You can read everything about hyper personalization in part ‘4. Reach out and engage’.
But before you reach out, you need to have found enough information about the engineer. Do they qualify for the job? What are their favourite coding languages? What technologies do they already master and which ones are they still learning about?
To answer these questions you have to collect as much relevant information about the individual as possible.
The challenge however is that in the vast majority of cases, information is not presented on just one profile, but rather spread across multiple social accounts.
On average, people have 8.4 social media accounts
Therefore you need to find their relevant profiles and see what information you can find on the candidate.
For example, you have found an engineer on GitHub. You cross reference her and find out that she has a Stack Overflow, LinkedIn and HackerRank account. You go to the respective accounts and learn more about the engineer’s preference for frameworks and technologies..
The drawback of this method is that it is very time consuming.
Don’t want to spend time cross referencing candidates?
You can also use a sourcing solution like this that finds all social media accounts related to candidates and includes available contact details.
Now you have a good understanding of who the engineer is and what she prefers, you can reach out to her.
For effective outreach you need two things:
1) The right contact details of the candidate and
2) A great outreach message
Many recruiters rely on sending InMails to candidates. Unfortunately that method is increasingly unsuccessful nowadays, because many recruiters are doing the same thing and are ending up somewhere on the pile of messages.
Recruiters who are successful with outreach, know how to make use of the different options for reaching out to candidates.
There are many alternatives to a LinkedIn message like email, phone, Twitter, Discord and engaging with social media activity.
To find these contact details, you can use several methods:
Contact finder tools find email addresses, phone numbers and sometimes links to social platforms.
When you have found a candidate, you can easily look up their contact details by going to their profile and using a chrome extension like ContactOut.
These are some of the most effective contact finders:
Scraping tools help scrape data related to the engineer from different social media platforms. A scraper can scrape hundreds of profiles a day from platforms like LinkedIn, Twitter and Medium. Some of them also provide contact information like public email addresses and phone numbers in the output file.
These are some of the most effective scrapers:
Now you have the right contact details you can reach out to the candidate.
To resonate with the candidate and stand out from other recruiters, you have to personalize your messages.
Some recruiters get 20% response rates and some get 50% response rates. How high that number is depends for a big part on the level of personalization.
❌ Do NOT do this
Hi [first name], I’m a recruiter at Xcompany. I have an interesting job opportunity for you as Xengineer. Want to hop on a call to discuss? Kr Lame Recruiter
This message would be most likely ignored by engineers because it is does not address the candidate personally and there is no valuable information in it.
So what can you do?
Here are some general guidelines to take into account when drafting your outreach message:
✅ Here are some examples of outreach messages to engineers:
Hi [first name], I saw on LinkedIn that you’re a big Guardians of The Galaxy fan, can’t wait until the GoTG 3 release in 2023.
I’ve been looking at your GitHub repos and was impressed with your Angular projects, especially the dev tools projects, not something I have seen a lot of people working on but seems to be very relevant.
With [your company name] we’re building out our [subject] app which is reaching 50k business clients and we’re looking for someone who’s able to not only write great code using Angular but who takes the junior team to the next level.
This is the product and tech stack we’re building on.
With the variety of your Angular projects and the level of complexity you’re handling, it seems to be something that you might love to do.
If you want to have a chat over this you can reply in short and I'll take care of arranging our chat. Enjoy this sunny day! [your name]
Hi [first name], I saw you mentioned to be open to recruiter outreach but like to keep it short. So here we go, with [company name] we’re building the next generation of API Marketplaces. I see you have been back-end engineering leading marketplaces before. Here’s more about the job that’s open with [company name] including salary range and a bit more about the product.
Let me know if you want to talk, pick a moment that suits best here or simply reply in short.
Enjoy the day, [your name]
LinkedIn connection invites are short and require a different approach than longer and more substantive emails or InMails. The goal of a LinkedIn connection invite is to have the candidate accept your invite so you can, once connected, continue the conversation with more detail and comment on each other's LinkedIn updates.
Hi [first name], I saw you extensive experience with [skill1] and [skill2]. We’re building the next [product vision statement]. Would be great to connect and follow you. We’re continuously looking for the best tech talent like you. We can always have a chat when it’s a good time. Kr, [your name]
Hi [first name], I saw you post a lot on [topicX]. What are your thoughts on [topicY]? I’m always looking for people with a voice in this industry and they are quite rare I can tell you. We’re trying to change [company mission statement]. Would be great to connect on this topic. Kr, [your name]
Once you’re in a conversation with the software developer, you want to make them an offer.
Probably the developer has a lot of other job opportunities so it helps to be curious about the other options that she has and how your offer compares.
You want to make an offer that is differentiating enough to win the engineer for you and to motivate them enough to perform on the job, but you don’t want to over propose.
The right balance between the expectations of the candidate and what you can offer is key.
To know if you are offering the right thing, you have to keep communicating with the candidate consistently.
You can divide your offer in tangible benefits (benefits that you can make visible and put on paper) and intangible benefits (things that are as important but are more implicitly defined).
Tangible benefits for the engineering candidates:
Intangible benefits for engineering candidates:
With today's launch of HeroHunt Engage you can reach talent in a highly personalized way on complete autopilot.
Find out which companies are disrupting the recruitment world.