Most, if not all, articles relating to recruitment best practices will tell you that the best strategy for hiring engineers is to create compelling job descriptions, use social channels and videos to attract talent, be friendly and refine your company brand. And although those things do help, recruiting exceptional engineers requires more. Highly skilled software engineers are typically in high demand, so recruiters must strive to differentiate themselves. That's why we've created a comprehensive guide to empower you with invaluable insights and proven recruitment strategies for attracting highly-skilled software engineers.
Why your recruitment practices need to change (slightly) when hiring software developers
Recruiting engineers and software developers can be daunting, and with the complexity of the IT industry, it's no surprise. This is why we dug into the depths of online forums, where we stumbled upon threads where developers revealed their frustrations and grievances about recruiters. Armed with this insight, we curated a list of developers' most common annoyances in their interactions with recruiters.
- A lot of recruiters come across as insincere and artificial
- Feelings of manipulation
- Recruitment efforts can feel spammy
- Most recruiters lack knowledge about technology and the job market
- Some recruiters lack authenticity
- Recruiters often struggle to discuss engineering culture in depth
- Most recruiters don't fully understand the job role
- Shallow pitches. "I often get contacted by multiple recruiters from the same company with the same generic pitch after I have said no to the first one" - Former Machine Learning Engineer at Google.
- Not disclosing salary
What not to do when recruiting software engineers
When hiring engineers and software developers, it's crucial to know what to do and what to avoid. While countless articles offer valuable insights into best recruiting practices, there's a noticeable lack of guidance tailored to the IT industry. Here are things to avoid when recruiting engineers/software developers.
1. Neglecting to learn about the role
2. Not communicating with unsuccessful candidates
As a recruiter, it's inevitable to have candidates who don't make the cut. In fact, many candidates who don't receive any feedback will never apply to that company again. This highlights the vital need to promptly update candidates with their application status. Not only does it affect your company's reputation, but failing to do so could result in missing out on a talented software engineer when new job openings arise.
3. Not having a well-defined hiring structure
Creating a documented and pre-defined hiring process for software engineers can help reduce stress and save time and money when searching for the right fit. To attract top talent in the tech industry, it's important to have a well-planned recruitment process that sets high expectations.
It's important to remember that skilled developers are never desperate for a job. As a result, they may decline to participate in assessments that they deem unnecessary or excessively time-consuming. If your tests fall into this category, you risk losing top candidates straight away.
The below article provides guidance on the process of hiring software developers.
RELATED: What to look for when hiring a developer
4. Not testing soft skills
Soft skills are just as important as technical skills in software development. Even if a developer possesses exceptional technical skills, they may not have a great work ethic, which could cause disruption to the rest of the team.
5. Hiring candidates based purely on qualifications
Don't solely rely on formal education or university degrees when evaluating candidates for software development positions. While a degree in Software Development may be beneficial, it doesn't guarantee that a person is better suited for the role compared to someone who is self-taught or has studied online.
6. Dehumanising the recruitment process
When a company has a complicated and formal application process, it might discourage skilled individuals from applying. These candidates might think that the process reflects the company's work culture and approach to innovation. If the process is long and intricate, it could suggest that the company values bureaucracy and traditional practices more than efficiency and adaptability. As a result, candidates might look for opportunities with organisations with a simpler and more candidate-friendly application process.
7. Using generic pitches
We're not suggesting removing templates, as they are efficient when recruiting at scale. However, avoiding using the same pitch for every candidate is advised. For instance, sending the same copy-paste pitch to a senior frontend developer and a junior full stack developer is not advisable.
Avoiding generic copy-and-paste pitches is especially important if you aim to hire passive candidates. Senior developers often receive numerous recruitment emails each month. If your initial communication isn't personalised, your message will likely end up in their spam or bin folder.
8. Not disclosing salary or expecting highly experienced developers to take a pay cut due to "company culture"
The demand for skilled tech developers is very high in today's market. As a result, 99% of experienced developers are unwilling to accept a reduction in pay due to the company being a "great place to work". They also prefer to know the salary offered upfront to ensure their time is not wasted.
9. Not screening resumes effectively
Reviewing hundreds of resumes can be time-consuming, so it's understandable not to go through each one with a fine toothcomb (there's software for that). However, questioning a candidate on details already evident in their resume implies that you have not taken the time to review it. This can make candidates feel unappreciated and undervalued. It is important to demonstrate that you value their efforts and contributions.
Here are some recruiting best practices to follow
The following list does not contain the typical recruitment best practices like writing enticing job descriptions or clearly outlining job responsibilities, as those are already well-known. Instead, we have compiled recruitment best practices specifically geared towards attracting highly skilled software developers.
1. Learn beyond the job description
Knowing a job description by heart is one thing, but comprehending the role fully can help you establish a connection with potential candidates. If you're hiring a Backend Developer, it's essential to understand their used technologies and how to distinguish them from a Frontend Dev. Conducting research can demonstrate your sincerity and professionalism, boosting your chances of successful hiring.
To learn more about each position, check out our Dev Lexicon.
2. Create a hiring process that eliminates biases
A hiring process that eliminates biases can ensure you're not inadvertently excluding talented individuals based on formal education, gender, location or age.
When biases are removed, candidates with diverse backgrounds and learning experiences have an equal chance to demonstrate their skills. This can result in discovering hidden talents that may have been overlooked otherwise.
3. Conduct the correct tests
Evaluating candidates' technical abilities using coding challenges or problem-solving exercises is important. This will give insight into their practical skills and problem-solving capabilities. Additionally, it is important to test soft skills such as communication and time management.
Related article: How to Hire a Freelance or Full-time Developer
4. Use unconventional recruitment channels
Consider leveraging technology forums and channels like GitHub and Stack Overflow to expand your reach and recruit highly skilled passive candidates. Investing time and effort in this strategy pays off as it increases the number of skilled talents found.
5. Humanise the recruitment process
It's possible to incorporate a human touch into your recruitment process, even if you use AI and recruitment software. Consider the following examples:
- Promptly respond to inquiries
- Provide timely updates
- Offer constructive feedback to unsuccessful candidates
RELATED: How to Automate Your Recruiting Process
6. Correctly communicate with passive candidates
Does the statement "We may consider you for an opportunity if you have X amount of years of experience and haven't interviewed with us in the past x amount of months" ring a bell? Please refrain from using this type of approach. Instead, try personalising the message to persuade potential candidates that you aren’t simply mass emailing and hoping for a response. Remember, passive candidates can be the most valuable hires, so it's important to communicate with them effectively.
7. Offer competitive compensation packages
To attract the best talent, research industry standards and provide competitive compensation packages. If higher pay is not possible, offer additional benefits such as remote work options, professional development opportunities, flexible work hours, and employee benefits.
8. Collaborate with the hiring team
When recruiting, it's advisable to include senior engineers and other stakeholders. Of course, that's not always possible, but these valuable insights and perspectives will help evaluate candidates more effectively and make informed decisions about who to hire.
It is important for recruiters to also establish strong connections with experienced engineers, as they are the experts in the technical aspects of the job.
9. Provide growth opportunities
It's important to highlight the various career advancement and chances for learning and development within the company. Engineers and developers usually thrive on challenges and opportunities to enhance their skills.
10. Continuously improve the recruitment process
Regularly evaluate and update your recruitment process based on feedback and insights from the hiring team. Identify areas for improvement and refine the process to attract and hire the best engineers and software developers.