The lack of available workers seems to be a challenge for us at Coding Sans, and everyone else. The statistics also back this up, as about 95% of all developers are either employed or busy working on projects as freelancers at any given time.
There is a very limited talent pool and a huge demand, so potential employees can choose between many opportunities. Employers really have to make an effort to land the best people for their team. It’s no wonder that recruiting developers is one of the biggest challenges in the industry.
We did interviews with experienced tech leaders on how they find talent and also on how they organize the recruitment process for developers to evaluate the candidates. We compressed these best practices into this post to help you successfully make it past this barrier to get the right people for your developer team.
This post covers the following points in detail:
Let’s dive into it!
The very first steps
Before you get into recruiting developers, there are some things you can do. Because of the current state of the industry, it is advisable that you put effort into doing these.
The early phases of the recruitment process are the key to standing out, or at the very least not falling behind the competition once you start recruiting developers.
Employer branding
Employer branding is already big in putting your company on the map among many others looking to recruit top developer talent. More and more companies are pouring a lot of effort into it, putting their company out there as a cool place to work. If you do it right, you might not be forced to go out into the wild to recruit developers, since they may be interested in working with you already.
The idea with employer branding is to communicate your values and culture as clearly as possible. It will make your company more visible and transparent, so potential employees can be familiar with it ahead of time. Then, they will be much more likely to apply for a job.
The most important rule is to keep your employer branding 100% honest. The values communicated externally have to be present internally. If you say you value something, it better translate to the company’s policies and actions; otherwise, word will surely get out and it will cause your brand damage, rather than build it.
So first, survey what's happening in your organization. You have to be ready to face the facts; it is rare to find that everything is going just as you'd like it to. It's also easy for employees to slip into telling you what they think you want to hear. Culture is hard to measure objectively, but it's the day-to-day surrounding of your employees.
Click here to learn how Monzo's built its renowned engineering culture! [Podcast + Blog post]
Once you have an accurate picture of your current organizational culture, you can start creating an appropriate employer value proposition. What is it that your employees couldn't get anywhere else? It can be a single, most important benefit, like company shares, but often, it is a collection of things: the unique set of things that make your company culture's essence.
Then, put it out there. Communicate it clearly and test its effects.
“The two things that will attract developers to your brand more than anything else are:
Allow for healthy contributions to open source projects. All great developers love contributing to open source projects, and if they are allowed to do that here and there while on the job, then you've built up an awesome culture.
Create the opportunity for developers to learn and use exciting new technologies like Kubernetes, Go, Vitess, or Linkerd, for example. You're not going to attract developers by building WordPress sites and using PHP.” [Derek Perkins, CEO & CTO, Nozzle]
Employer branding is a great cause for your marketing & HR teams to work together. If you haven't expanded there, you can look around in your network and ask those with related experience for some insight. It's not only employer-branding managers who can help you here.
Define the position carefully
When you are in the developer recruitment process, the very first thing you need to do is define the positions carefully. Naturally, you should know the technologies used and the experience required. But also, be specific about the responsibilities and precise tasks they will have, so you can be clear on what hard and soft skills you are looking for during the recruitment process.
It takes some work on the company’s side, but it helps both you and the potential applicants. It makes it clear for them whether they are a fit for the job, and makes it easier for you to look for the necessary qualities.
Click here to learn about creating a diverse recruitment process in tech! (Podcast + Blog post)
Sourcing process
When recruiting developers, the sourcing process is a challenge in and of itself. As it was mentioned above, about 95% of programmers are either employed or busy with a project all the time. So it’s tough to find the right people for any job, let alone a more senior position.
Let’s see how recruitment is done in the industry.
Common ways
Employee referrals
According to the State of Software Development survey in 2019, the most effective tool tech companies use for sourcing developers is employee referrals. So, most developers are recruited through their friends and acquaintances introducing them to the company.
Looking at it from the developer side, other surveys verify our findings. Most developers say they found their latest job through referrals by a friend or former colleague.
It’s an effective method, as a person you already know and trust can speak for the candidate’s abilities and cultural fitness, while also convincing them your company is a nice place to work.
Direct contact
One statistic superbly useful to know when recruiting developers: only about 13% of devs are actively looking for a job, which is not a lot.
It’s them you can reach most easily when you list a job. However, about 75% of all developers are interested in hearing about new opportunities. So, contacting talented developers directly, even if they are currently employed, could work out.
Keep in mind that your offer should be super relevant. Developers often complain about the large amount of badly targeted job offers they receive. Don't blast a huge list of devs; instead, pick a handful of them you really think would be a great fit for the position. Also, personalize the messages you send them as much as possible; generic messages are far less effective.
Tools to use
The most commonly used networking tool, when it comes to hiring, and specifically recruiting developers, is LinkedIn.
When reaching out to developers, personalize your message as much as you can. Also, keep it short, give them a specific compliment, and try to establish a connection rather than simply send them an offer. If you can, use their email address instead of their LinkedIn profile. It shows you put some effort into researching them.
Slack
Slack has become a must for any company. It’s so popular by now, there are lots of independent communities out there for developers. It might take some research to find the right ones, but it’s an unusual tactic that may be worth your time.
When recruiting developers, you want to go to platforms where they are, and these communities are a great place to build connections and to expand your network. Directly pitching your company will likely not lead to great results. Rather, you should naturally join the conversations and be a part of the community.
Employee referral program
As mentioned above, employee referrals are one of the most effective and efficient ways to get talent on-board. Surveys show that the employee successfully referring another, and the one they brought in, is more likely to stay longer with the company.
So, it’s just common sense that building a program around it can be incredibly helpful. If you let your employees know about vacancies at the company and throw in a bonus for anyone finding a great person to fill it, you can be sure, any potential candidate they know will hear about the upsides of working with you.
If you want to read more about employee referrals, check out our blog post!
Headhunters, in-house recruiters
Many tech companies use in-house recruiters or third-party recruiters to help in recruiting developers. These people have an extensive professional network, they’re experienced with the recruitment process, and they will do the job for you. Sure, they cost money, but you usually only have to pay after a successful hire.
Hooks for developers
It’s important to make sure your company is a place where developers want to work at. Employer branding is a great tool, but you also want to give your employees something more tangible, with more impact on their day-to-day work.
When asked about their priorities in picking a workplace, most developers picked vacation/days-off and home office options. This shows that healthy work-life balance is key to recruiting talented developers for any company.
Other important factors may be health benefits and the equipment your offices have for work, followed by educational options.
Of course, all this doesn’t mean money doesn’t matter when recruiting developers. At this point, a competitive salary is basically a given in the tech industry. It’s just some extra things to look out for, as they could easily be the deciding factor for potential employees when choosing between you and a competitor.
Learn about Asana's developer recruitment process from this interview! [Podcast + Blog post]
Qualities to look for
Getting the selection process right is a challenge when searching for employees, and it may be even tougher when looking to recruit developers. Below, you will see the most important qualities tech companies evaluate candidates against.
Willingness to learn
Our survey shows the top priority, by a significant margin, for tech companies when recruiting developers is their willingness to learn. It makes perfect sense, as software development is probably the fastest-changing industry in history. So, developers need to put in a lot of effort to keep up, and the ones equipped with an insatiable thirst for knowledge are likely to not only be able to do it but be happy doing it.
Work experience
Work experience is another top priority. It lets you know what technologies, what level of complexity and what processes a candidate is familiar with already. They are all great markers of competence, and they also indicate what areas you should focus on when bringing them up to speed.
Technical skill evaluation
Technical skill evaluation goes hand-in-hand with experience. It’s to measure how much a dev is qualified for the position you’re looking to fill. It’s a no-brainer: you should always make sure your applicants are ready to handle the work they will be doing.
Cultural fitness
Cultural fitness is another high priority, about as important as the previous two, according to our survey. It’s actually hard to measure, but it’s basically about how much a candidate’s personality fits into your team.
Soft skills
The #5 on the list is soft skills, which fell significantly behind the first four, but gained a lot since last year. The most crucial of soft skills for almost any company is communication. It tends to weigh in heavily when considering an applicant, as software development is always a team effort. Presenting problems, solutions and keeping everything in sync requires effective communication.
Screening process
The fine details of the screening process should be customized for every company. The way you work will define your needs and your requirements toward your employees for any position, which is the base for the process. There is no one ultimate way that works for everyone.
The steps of the process and the requirements will change if you work remotely, or when you are recruiting developers for different levels. For instance, communication skills are absolutely essential when recruiting a senior developer, but for junior devs, it’s less important, and could be coached to improve down the line. Also, remote jobs require excellent communication skills, regardless of the level of the position, since the whole team heavily relies on written and verbal communication.
Click here to learn about the early filtering processes of big tech companies!
The screening process tends to be shorter and simpler when you are actively trying to recruit someone, versus them applying for a job offer. Ideally you only have developers in your recruitment process who you think would be a great fit for your team in the first place, so you can work with less rigorous screening.
Screening process case study
Kevin Carlson
Fractional CTO
TechCXO
"When I'm looking for candidates using LinkedIn, I look for people with just less experience than the requirements so I can locate qualified individuals who are ready for a "stretch" role. I also focus on candidates who are at companies that have undergone an acquisition in the previous two years, as many of them are ready for something new.
Outside of LinkedIn, I stick to the job requirements a bit more firmly. When looking through job board candidates, I will almost always give preference to a candidate who takes time to write a thoughtful cover letter explaining their interest in the company and why they would be a good fit. It shows some real interest on their part instead of taking the easy road of just clicking the Apply button.
Once a list of candidates has been assembled from both sources, I always send an email inquiry asking them to respond to several questions appropriate for the role. This is a great weed-out tool, as usually less than half of the qualified candidates will respond. Of those who do respond, I set up phone screens and walk through the answers to the questions. It’s to see if they have a mastery of the subject matter and can articulate their opinions clearly.
In any role, and especially in senior level technology roles, communication skills will determine success to a high degree. I tend not to hire anyone who cannot express an opinion, especially a dissenting one with clarity and thoughtfulness. For more junior roles, I make exceptions, if I think a candidate is coachable.
Note: I remember being 25. I wasn't exactly the most graceful communicator then myself...
Depending on the outcome of the initial phone screen, I may schedule another or bring the candidate in for an in-person interview. For mid-level technical roles, this is the final step. For more senior level roles, a second interview day is scheduled with a group of folks they will work with indirectly. The best candidates will be able to communicate across the organization to various audiences, clearly and concisely."
Conclusion
The key takeaways should be to put effort into your employer branding, know exactly what tasks you are hiring for, and make your company a great workplace. That should make the recruitment process easier.
None of the above is easy, however, so you better get ready to put a lot of effort into it. In the end, they should help you overcome one of the toughest challenges in tech in 2019: recruiting developers.
Photo by Hello I'm Nik
About the author:
Gabor Zold is a content marketer and tech writer, focusing on software development technologies and engineering management. He has extensive knowledge about engineering management-related topics and has been doing interviews with accomplished tech leaders for years. He is the audio wizard of the Level-up Engineering podcast.