We live in the age of digitalization. How well your company adapts to this reality is what makes or breaks its success. Tech professionals are the agents of the digital transformation that changes how entire businesses work. They are also the bottleneck.
Software development managers named hiring tech talent as the biggest (2018) and second-biggest (2019) challenges in their jobs, according to Coding Sans’s “Software Development Trends”. At the same time the US Bureau of Labor Statistics expects IT jobs to grow by 22% through 2020.
These numbers paint a clear picture: The demand for tech talent will increase significantly while we are already short on supply. Access to top-notch tech talent will become scarcer. It is the key to keep your company competitive in this rapidly changing landscape.
So how do you hire kick-ass developers?
We at CodeControl deal with this question on a daily basis. It is our mission to find and recruit the best tech talent out there. In the following we want to share our experience with you.
We summarized our best practice recommendations in 6 rules. They apply in various circumstances but keep in mind that it can make a difference whether you hire for staff or for projects. We will point these differences out.
Rule 1: Adapt your recruiting process
Recruiting developers does not work in the same way as recruiting accountants or office managers. You can try your luck with traditional recruiting channels like job ads on online platforms or on your homepage. It probably won’t work. The right Twitter hashtags on the contrary just might.
To find the best developer for your demands, you need to understand how developers think, what they value and where they look for jobs. Also: what differentiates a great developer from a good or just decent one.
This is a broad rule that applies to all aspects of the process.
Rule 2: Adapt your job requirements
Traditional recruiting often hires for credentials; prestigious universities, big-name brands, degrees and awards. While these criteria of course can be indicators of a developer’s ability, they don’t have the same prognostic value as for other occupations.
Instead of hiring for credentials, hire for traits and skills. Many ace coders are self-taught. They did not acquire their knowledge through classes in university. Their mastery of code won’t necessarily show in grades and certificates.
So what should you be looking for in candidates?
Rule 3: Look for communication ability, self-reflection and coding skills
In our recruiting process we take the candidates through three rounds of assessment. We test them for both personality traits and hard coding skills.
First round: general interview The first round is an interview, mostly via phone. Here we put a lot of emphasis on communications skills because our freelancers often communicate directly with our clients. A good developer must be able to express his work in a structured, coherent way that coding non-experts can follow. He should be able to do so in decent-enough English.
In the interview we also focus on a candidate’s ability to self-reflect. What did he or she learn from prior projects? What would they do differently in hindsight? The ability to take in feedback and evolve is absolutely crucial. Good communication and the ability to self-reflect and take in feedback also go hand-in-hand with empathy. A good developer needs to be empathetic to understand a client’s wishes.
Second round: coding challenge Candidates who make it through the first will receive a coding challenge in the second round. Here we test hard coding skills. The challenge is not super complicated but a useful measuring stick to see if a coder knows all the necessary basics. We use different tests for different software-developing projects. So if you want to hire a Python developer, make sure the coding challenge includes relevant and more specific tasks.
Third round: tech interview The third round is a tech interview. Depending on what kind of developer we’re recruiting (e.g. C developers, PHP developers, etc.), we ask on of our experts in that field to conduct the interview. We agree on a set of questions beforehand to have a certain structure in the interview. Topics that will be addressed typically include knowledge of frameworks, languages, cloud technologies, etc. After the interview our expert sends us a report giving his assessment of a candidate’s ability.
Rule 4: Go where the developers are
This goes back to Rule 1. You will rarely find great developers on traditional job platforms. But you will find plenty of them on software development platforms like GitHub.
Developers on these platforms collect ratings and followers, both of which can’t be bought. They have to earn them through excellent work. More than that: GitHub also archives a developer’s projects in so-called repositories that are openly accessible.
So GitHub basically offers you a trove of useful recruiting information. You should know your way around the platform to benefit from it. It is also a great way to initiate contact with developers and make your company a household name in these circles.
You could for example host a challenging open-source coding projet on GitHub and invite interesting developers to take part in it.
Rule 5: Become part of the coding community
Being active and building a network on such platforms as GitHub or Stack Overflow is invaluable for your hiring strategy. The same is true on a broader level. You should establish a presence in the tech scene, online and offline.
There are plenty of tech conferences, hackathons, coder bootcamps and the like. Use these events to stay up-to-date about the latest developments in tech and, more importantly, to get into contact with tech talent. Even in a digitalized world personal encounters and referrals are still a vital part of recruiting.
Rule 6: Sell your company as a destination
Brand marketing has always been part of recruiting. Popular brands more easily attract top talent than others. That is true for hiring tech talent, too. But it is important to know that developers value certain attributes in a company more than other employees might.
As the above-cited “Software Development Trends” report shows, top developers look for challenging work, a good team spirit and autonomy. Money and available career paths don’t motivate them as much.
Keep this in mind when you target you brand marketing towards the coder community. They might not be impressed by a big name or a big salary but will really appreciate interesting projects and a modern working environment.