min read

Recruit software engineers: complete practical guide

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.

September 29, 2020
Yuma Heymans
February 13, 2023

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.

Software engineer, who you’re talking to

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:

  • They are self learning (44% of developers are self-taught) and they are excited about complex problems
  • Most of them code not only for work but also as a hobby: 57% of developers learned to code as kids
  • Developers prioritize good work-life balance over salary and benefits
  • They value the people they work with: developers mostly leave jobs because of poor management

Possible sourcing strategy for engineers

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

Step 1. Explore your talent pool

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).

1. The hiring goal.

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:

  • What position does the hiring manager need to fill?
  • Why does she need someone in the position?
  • What is the number of hires that she needs?
  • And in what time frame?

2. The profile.

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:

  • Job title - engineer (including synonyms like developer)
  • Key words - required: Angular, JavaScript, Typescript, RxJS. Optional: Jest, Sass, Karma
  • Seniority level: 8+ years experience with the mentioned required technologies

3. Exploratory search.

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.

4. Validate.

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).

5. Compare with demand

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:

Step 2. Search and select

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. 

Choose your platforms and tools wisely

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 📜

  • GitHub, all engineers
  • Stack Overflow, all engineers
  • Reddit, all engineers
  • HackerRank, all engineers
  • AngelList, startup minded engineers
  • Xing, German area engineers
  • Kaggle, data (science) engineers
  • Medium, engineers with a voice
  • Tumblr, all engineers
  • ResearchGate, (data) research focussed engineers
  • GitLab, all engineers
  • Coderwall, all engineers
  • Dev.to, all engineers
  • StackShare, all engineers

Your best bets are GitHub, Stack Overflow and LinkedIn.

Read more on how to source these platforms here:

How to recruit on GitHub

How to recruit on Stack Overflow

One search engine that searches all platforms

Build a targeted search

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.

For example:

  • Kubernetes OR K8s OR K8
  • JavaScript OR JS
  • EC2 OR “Elastic Computing”
  • “Front end” OR Frontend OR Front-end

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:

(site:linkedin.com/in OR site:stackoverflow.com/users) (engineer OR developer OR programmer OR coder) Angular JavaScript Typescript RxJS (Jest OR Sass OR Karma)

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.

Example: site:nl.linkedin.com/in engineer JavaScript node.js

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:

  1. GlossaryTech - highlights all tech related keywords
  2. Highlighty - highlights keywords that you inserted yourself
  3. Search by image - finds info about a candidate by clicking on their profile picture
  4. OctoHR - finds information of tech candidates on GitHub
  5. Linkclump - lets you open many different links on any page at the same time
  6. NativeCurrent - automatically includes diversity filters in your search

Step 3. Find out more about the candidate

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.

An example of steps in cross referencing a candidate (link)

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..

How to cross reference candidates

  1. Go to NameCheckup and include the username that you have from the engineer (you can also use‍ Instant Username)
  2. Go to the social media accounts that are taken, most of the times the social media accounts belong to the individual you are checking
  3. Click on the social media accounts and see what you can learn about the candidate

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.

Step 4. Reach out and engage

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

1. Finding contact details

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

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:

2. Outreach messages to engineers

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:

  • Hyper personalize your message by referring to relevant professional facts about the candidate that you have found on public (!) sources online.
  • Include personal facts only when they relate to the job or company you’re recruiting for or when the candidate mentions them on professional platforms, don’t mention the name of their cat that you found on Instagram (that’s kind of creepy).
  • Don’t ask too many questions in your message, don’t make the candidate work hard in answering you. Keep things simple and provide value first.
  • Don't be commercial or transactional, you're talking to a human being not to a robot.
  • Provide one simple and frictionless call to action at the end of your message where the candidate can simply reply yes or no to.

✅ Here are some examples of outreach messages to engineers:

Example 1

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]

Example 2

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 invite messages (max 300 characters)

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.

Example 1

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]

Example 2

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]

Chrome extensions that make outreach easier

  1. ContactOut - finds contact details like email and phone based on a profile in your browser
  2. Loom - make short personalized screen recordings
  3. QuillBot - corrects writing errors in texts and helps you rephrase messages
  4. Lightshot - fastest and most simple screenshot tool

Step 5. Make an attractive offer

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:

  • Salary: the most obvious benefit and the most competitive for engineers. Do a salary benchmark and ask the candidate what they get offered by other companies.
  • Shares: especially in startups, company shares are an attractive benefit for talent because shares can make employees millionaires and they provide ownership to employees.
  • Bonus: Although not conventional for engineering roles, you can include a bonus incentive based on for example development deliverables or team results.
  • Tools and gear: Engineers need stuff to do their job. Make clear they get the gear (laptop, phone, screen, etc) and the right software to do their job.
  • Remote work: Many tech companies work (partly) remote. Work from home and work from anywhere are attractive benefits, 85% of tech employees prefer a remote first or all remote work.

Intangible benefits for engineering candidates:

  • Good work-life balance: since developers have a lot of jobs to choose from, you should consider an attractive work schedule. In some cases this can mean offering part-time jobs or additional holidays.
  • Work with new technologies: engineers care about progressing their skill. Engineers always have a preference to work with certain frameworks and technologies, usually the ones that are relatively new and future proof.
  • Career opportunities: Engineers want to know what next steps they can make in the job. Some want to develop in a leadership role and others want to focus on coding and getting better at that. Be explicit in how you can help achieve their ambitions.
  • Team: For the engineer to do their work in an enjoyable and effective way they have to work with people who are competent and fun enough to work with. Outline the team and how they are adding to the experience of working for your company.

More content like this

Sign up and receive the best new tech recruiting content weekly.
Thank you! Fresh tech recruiting content coming your way 🧠
Oops! Something went wrong while submitting the form.

Latest Articles