How to hire software developers: the complete, end-the-end guide

Published by:
Dan Gates
May 20, 2020
min read

People will make or break your business…

So hiring a talented, diverse team should be your top priority

Finding and hiring great people to join your team is hard. And when the time comes to hire developers - it can get particularly tricky.

Sadly, technical talent has been abused for too long. Candidates are tired of being stalked across the internet by recruiters, only to be entered into processes that include huge (often irrelevant) technical tests and worse.

They rely on unreliable methods, typically prioritise speed over quality of decision and then leave you with no data to work out if you've actually hired successfully.

Hiring no longer has to be a compromise of speed over quality (and human decency). In fact, by being smart about using data and technology, you can hire successfully* and have the data to prove it. What's more, candidates will love the process too!

This is our guide for teams that realise hiring needs to change. Because we think your recruitment should be as innovative as your business is.

*Whilst time to hire and number of applicants are helpful metrics, by "hiring successfully" we mean getting the best person for the job and building a diverse team.

The developer hiring guide

We weren't born yesterday. There are a whole bunch of guides out there telling you how to hire software developers... except they don't really tell you how to hire at all.

We won't mess you around, we're going to share the big picture view of how we hire for technical roles. Then we'll dive deep.

Right down to sample questions you can use to get out there and hire the most talented candidates.

We've broken our recommended process to hiring for tech roles into 5 steps. For each step we have detailed why it's important, why it works and then how best to go about it. This guide is best followed with an actual tech role in mind.

  • Overview: Why your traditional hiring process is broken
  • Step 1: Define the role
  • Step 2: Build a job description
  • Step 3: Assess candidates 
  • Step 4: Review and interview candidates 
  • Step 5: Use data to prove you’re doing it right

Why your traditional hiring process is broken

The problem with ye olde recruitment process - the best candidates often slip through the cracks

Traditional recruitment processes are fundamentally broken. Typically, candidates send in their CV and cover letter which is screened within around 7.4 seconds. If successful, they may go through to an unstructured interview. Successful again, they get the same, only with a different panel (maybe).

For tech roles, the unlucky candidates also get a phone screen and - the best part - a 6-10 hour take-home test. So the process ends up something resembling this:

The CV is dead, but we have a better alternative!

Let's be clear. Research and data have given us some pretty strong views about the way people currently recruit - just take a look at what we have to say about CVs.

This guide will take you through each step of our recommended recruitment process, talking about the best data-proven way to go about it, and then how to do it yourself, in a very practical sense.

Ultimately, we want your hiring process to be:

  • Focused on getting the best talent for the role
  • An enabler of diversity of thought and background
  • Efficient and productive
  • Data-driven, so that you can validate your efforts

Money talks, so we’ll show you how to prove recruitment’s ROI

Functions like sales and marketing have been evaluated by their return on investment (ROI) for years. Slowly but surely, this metric is moving into other areas of business. Recruitment is - and should be - one of them.

For roles where an outstanding employee can be 25 times as productive as an average employee (you can check out the study for yourself), why leave this down to the chance of a 6-10 second CV sift? It's time to turn your recruitment process into a science.

This is our smarter, data-driven hiring process

Instead of the unreliable process that most companies currently use, we recommend a much more predictive and inclusive structure. The following process trims the amount of time a candidate spends applying, and results in your team getting a higher quality candidate at the end to hire. Hurrah!

Here's what we recommend instead. A less biased and far more predictive process:

Step 1: How to define the role

Know what you're looking for - get this right and it’ll save you time

All too often, people will jump straight to the job description to start sculpting the role they're looking for. However, probably the most important part of your recruitment process is thinking deeply about the skills, capabilities and values that you want the person to bring in this role.

What you want to do is define a list of 6-8 skill words or phrases that you are looking for and then test for these skills. Simple right?

But why list these skills?

We do this for 2 reasons:

  1. When you're clear on what you're looking for, you'll know exactly what to assess candidates on.
  2. Defining criteria explicitly up-front makes it harder for bias to creep in. This is because there will be less chance for gut or subjectivity to come into the process, if you've define success clearly at the start.

*Psst... Beware the dangers of culture fit. Yes, we want someone who shares the values of the team and organisation. Yes, we want someone who can work well in your team. But 'culture' is often used as a catch-all which can include bias (i.e. one large tech company required the interviewers to answer "would you sit next to them on a 12-hour flight"). Make sure you define explicitly what your culture and values are and test on that.

Defining your 6-8 core skills

We use the term skills as a catch-all for a skill, capability, trait, characteristic, value or any other thing that's important to your role.

The 6-8 skills are best comprised of a combination of technical skills (e.g. DevOps), values-based descriptors (e.g. integrity, passion) and working characteristics (e.g. creativity, leadership).

Two of each is ideal, however it's not uncommon for there to be more technical skills required.

Take a look at the example skills map below for a Data Scientist role. This plots a candidate's scores against each skill and compares it to their cohort's average and highest scorer.

The skills chosen were:

  • Empathy
  • Communication
  • Resourcefulness
  • Creativity
  • Technical ability
  • Analytical thinking

As you can see there is a good mixture of value-based and technical skills.

For a technical role such as a software developer, you should mention the key languages and frameworks in your job description.

We don't list specific languages or frameworks as skills. The methodology and approach to writing code is far more important (in our opinion) than language specifics. These can be learned. In tech, new languages and frameworks are constantly emerging and the best practices in established languages is constantly evolving, so it makes more sense to test candidates on methodology and approach.

Key steps: defining the role

  • Define or collect your organisation's values or operational ethos
  • Brainstorm the objectives and tasks that the role will need to perform
  • Determine which skills and capabilities are required to do those tasks
  • Determine which skills are required now versus can be taught or coached over time.
  • Distill a list of 6-8 skill phrases from the above lists (3 values + 5 skills is a good mix)

You now know what you’re looking for. From this foundation, you can now build your job description and assess candidates to get to the root of the skills you care about.

Step 2: How to build a job description

Words matter: poor job descriptions will limit applications, especially from underrepresented groups

It's important to get it right and make sure you don't just go and grab the first job description that Google serves up.

A job description has to say a lot, but in a concise and interesting way. Therefore, we recommend the following structure:

  • Hook - a gripping short summary of the role and org
  • About your organisation: a compelling and exciting description of your org
  • About the role: what the role entails. Realistic but enticing.
  • About the candidate: a transparent list of the skills you are looking for
  • Why us?: why your people and team are amazing
  • Hook #2: why they should do their best work with you

Before writing, keep in mind the common pitfalls of a poor JD (read our blog 9 reasons your job ads aren't working) such as an endless list of requirements (including languages and frameworks!), too long, too complicated and gendered words, among others. We also like to include an idea of what the successful candidate can expect in their first 6 months, but this is a nice-to-have.

Something to bear in mind: gendered wording

Research has shown that there are certain words that we unconsciously associate with masculine or feminine gender roles. The masculine coded words tend to be more agentic (individual, drive, lead), whereas the feminine coded words are more communal (support, cooperate). 

Unfortunately, job ads which are skewed with gender coded words can make candidates assume that they fit one gender role over another, leading to fewer candidates applying in the first place. It's important to understand where your job ad sits, so that it is as inclusive as possible.

We actually built our own Job Description Analysis Tool to help organisations build more inclusive job descriptions that convert more applicants.

Key steps: building the job description

  • Define the structure of your job description.
  • Write an exciting and enticing blurb on your organisation and team. ('About Us')
  • Use your skill list to build the requirements and nice to haves for the role ('About You').
  • Make sure you mention your great people perks (e.g. flexible working) ('Why Us')
  • Run the job description through a gendered language detection tool. Correct any issues.

You now have an amazing job description that is inclusive and is going to entice great candidates to apply. The next step is getting it out there.

A quick note on job boards

There is surprisingly little data on how effective different job boards are at attracting great candidates from diverse backgrounds.

They're also quite expensive given that many are a glorified bulletin board (think between £100 - £500 per role). However, for now they're a necessary aspect of attraction.

We have used our own platform's data to understand which job boards give you great candidates from diverse backgrounds. By correlating assessment scores and diversity stats to different sources, we discovered the following:

  1. The more specialised and niche the job board is to a function/role (design, tech, product), the higher scoring the candidates were.
  2. The more focussed on minority groups the job boards were (Work180, GirlsWhoCode) the more diverse the candidates attracted were.

We recommend you choose at least 5 job boards. The more targeted the better.

This is what job board reporting looks like in the Applied platform.

Step 3: How to assess candidates

Use the most predictive methods in combination with each other to get a full picture

The CV is seriously flawed, containing some of the least relevant predictors of job performance. Schmidtt & Hunter's landmark meta-study on the most predictive forms of assessment showed the below:

Yet people still persist with the CV. What we recommend is that you test up-front with the most predictive form of assessment, so that you aren't artificially cutting out great candidates right at the start. Makes perfect sense right?

We therefore recommend that you take the CV and cover letter and throw them out the window. Instead, replace this sift with 3-5 work samples which test the candidates in 'real' work situation problems focussed on assessing the skills you care about in step 1.

What is a work sample question?

When done right, the work sample or job preview question is the most predictive form of assessment you can use.

In short, it poses a realistic problem or scenario that the candidate could encounter in the job they are applying for and asks them to think through it.

It aims to test for one or two of the skills that you are looking for. Here is the process for building them yourself:

1. Start with the list of skills that you built in section 1.

2. With a skill in mind, think of a scenario on the job that would require that skill.

3. Write the scenario down and make it clear enough that an outsider can understand the issues at hand and form it into a question.

4. Think of what an outstanding answer would be, versus a mediocre response.

5. Write down the question in the form shown in the example.

Take a look at how we assessed candidates for an engineering role here at Applied:

Role: Software developer (full stack)

Skills tested: Collaboration, Empathy, Communication, Planning

Question: You and a colleague are working on a new part of the site, but you suspect you might have fallen behind. You and your colleague committed to a schedule and  worked on it together. Your colleague is off sick today and the rest of the team has asked for an update. What do you do?

Marking guide:

1 star: Does not take responsibility, blames their colleague, does't see that this is important ('just push back the release').

3 stars: Takes an empathetic approach, considering the whole team in their response, considers the impact of delays and suggests a possible solution, focuses on the user.

5 stars: Thinks about how to mitigate this in the future, some reference to an agile methodology or standups/continuous updates.

Give candidates code to review to rigorously test coding ability

We understand that not testing coding ability with a take-home test is a big step for many. But believe it or not, you can hire developers without one. So, here's what we do instead…

We provide candidates with a piece of code the doesn't quite work. Each candidate is asked to fix the code and then improve it until they're happy for it to be merged.

The code has layers of things that need sorting: fixing the code for a start, then readability, nomenclature and scoping.

Skills tested: Attention to detail, Problem-solving

As well as testing the two vital skills above, this will also give you an insight into their understanding of javascript (or whichever language you decide to test with).

Remember, this is all completed up front instead of a CV sift and phone interview. This means you're testing the candidates on what really matter from the very beginning.

Here's an example of the code we'd give candidates.

What kind of interview works best?

Whether you want to hire developers, salespeople or researchers, the most predictive and fairest type of interview is structured, so all candidates get the same questions and experience. To make them even more predictive ensure there is also an element of scenario-based or simulation testing.

This means simulating a real life situation during the interview or by asking them to talk through a case study or giving them a simulation similar to problems you face in your day-to-day.

We recommend that your interviews are structured as follows:

  • 2-3 rounds
  • 45 minutes each
  • 2-3 people on interview panel
  • Split these interviews between skills-based questions and case studies and simulations to get the best picture of the candidate's skills
  • Make your panels diverse
  • Always use a scoring rubric to ensure consistency
  • Score as you go!

Below is an example skills question for a software developer role, testing attention to detail, problem solving and technical architecture.

“A few users have complained at very slow load times on the apply section of the app (the bit you're using right now!). These pages are built using server rendered javascript and jQuery. What extra information would you seek out to help you address this? What things would you think about doing to improve the load times?”

Key steps: assessing candidates

  • Come to terms with letting go of the CV.
  • Pick assessments based on how predictive they are. We recommend 3-5 work samples first.
  • Define the number and type of interviews that you want to run. We recommend 2-3 rounds, all of them with some element of work simulation.
  • Build your work samples based on the skills you need.
  • Build your interview questions using the same methodology

Not being CV-driven may feel a little bit uncomfortable at first, but it is research proven to be more predictive of hiring. Give it a try - once you've experienced it, you'll never want to go back.

Step 4: How to review and interview technical talent

The impact of our biases is huge, and just being aware of them doesn't help us

Unconscious bias is a serious issue in recruitment. These biases essentially add noise to the recruitment decision-making process, making us feel comfortable and like we're using our best judgement. The research in fact shows the opposite is true and that biases degrade our decisions no matter how cognisant of our biases we think we are.

Here are the most common types of biases you will find in your recruitment process:

How to remove bias

There are the main methods we use to systematically remove bias from your recruitment reviewing process. Each one combats a different set of biases:


This is the most well-known method of de-biasing and simply involves removing all irrelevant information from an application. Name, email, university, hobbies, professional bodies, employment history, etc.

Biases removed: affinity bias, stereotype bias


Probably the hardest method to get your head around. This involves cutting each application into chunks and then comparing chunks across candidates, rather than reviewing a full application in one go.

Biases removed: confirmation bias, halo effect


The order that things appear to us matters. For example, when presented with three options, we are much more likely to pick the middle option. By jumbling up the order in which chunks are reviewed, order effects are averaged out.

Biases removed: ordering effects

Wisdom of the crowd

Getting more than one person to review each chunk helps to average out subjectivity and get to a truer assessment of merit. The minimum number for effectiveness is three people reviewing with diminishing returns as you add more reviewers.

Biases removed: affinity bias, subjectivity

Key steps: reviewing candidates

  • Remove all identifying information from applications (names, schools, hobbies etc.)
  • Split up applicants into randomised chunks so that each section can be reviewed on its own.
  • Make sure review guides and marking rubrics are clearly defined and given to reviewers.
  • Select reviewers and interviewers from a diverse slice of your organisation (different seniorities, functions, gender etc.)
  • Review all candidates, invite the top 5 to interview (without peaking at their CV).
  • Perform interviews, focusing on case studies and simulations. Submit scores without discussing.

You're now on track to have the most accurate, de-biased results possible. This means you can select the best person for the job, regardless of their background.

Step 5: Use data to prove you’re doing it right

You can't fix what you can't measure, so collect the data you need

Like any business decision, you need data to back up your strategy and demonstrate its effectiveness. Human Resources has traditionally relied on a rather boring set of reactive, trailing indicators focused solely around the efficiency of the hiring process (e.g. time to hire, volume of applicants). We see this as the minimum baseline of what a progressive recruitment team should be doing, but there's so much more that can be done:

Start with the base of the pyramid and ensure that data is being collected and monitored for each of the groupings:

Efficiency data - is my process efficient and productive?

Metrics: time to hire, applicant volumes etc.

Transparency data - are candidates able to show their best?

Metrics: equal opportunity groups throughout process

Effectiveness data - am I hiring great people who can do the job?

Metrics: predictive validity, interview conversions etc.

Transparency gets the best out of candidates

Creating a level playing field for all and being clear on what you are testing for, creates an environment where candidates can thrive and perform at their best.

A fair and transparent process also ensures that everyone has the same chance and is not hindered by our ingrained biases, ultimately bringing diversity into your organisation.

But this can be easier said than done, so measuring and monitoring the diversity of your applicants is critical.

  1.  At the very start of your process, collect your candidates' equal opportunities information. We recommend the following: gender, age grouping, ethnicity, sexuality, disability status, socioeconomic indicators. It's important to ensure this data is anonymised and give candidates the option to not provide answers.
  2. Monitor this data at each stage of the application process. Ensure that this information is only ever shared on aggregated - not individual - basis.
  3. Monitor your funnel for each role and look for drop-offs that may need to be addressed.

Having access to data like the graph above makes it easier to pinpoint areas for improvement in your process. In the example, there's clearly an issue at interview stage having an adverse impact on non-male candidates.

How effective is my process?

Unlike a marketing department, Return on Investment (ROI) is rarely measured in recruitment. And even when it is measured, it's often linked to candidate volumes, rather than the actual performance of the hired candidates.

The ultimate feedback on your recruitment process is the performance review scores that hired candidates get 6-12 months after they have started. This is the holy grail but can be quite hard to implement in practice. However, there is a whole host of steps we recommend you take to understand the effectiveness of your process:

  1. Ensure that you are using a data-driven assessment process. This enables you to compare like-for-like across candidates.
  2. For each question or application chunk record the average, standard deviation and distribution of scores. Ideally, the average score will fall in the middle of the scale, with a nice normal distribution.
  3. If using multiple reviewers, monitor the subjectivity of questions by calculating the average difference for review scores of the same answers.
  4. Record interview conversion rates to understand if you are shortlisting effectively.
  5. Compare scores between rounds to see if they predict future performance.

In this example, the average score (shown in yellow) sits pretty much in the middle, which is great! You may also spot that one reviewer seems to be an outlier, which you could investigate further.

The proof is in the pudding

In the UK, the proportion of women in tech roles is around 30%. In comparison, tech jobs recruited for through Applied (using the methods in this guide) result in women representing 45% of hires. Find out more about Applied can help you hire the best tech talent.

Key steps: using data effectively

  • Use quantitative scoring methods instead of 'gut' or 'fit' so that you can compare candidates more fairly.
  • Collect people's equal opportunities information at the start of your process. Monitor it in aggregate to ensure fairness of your process.
  • Track the effectiveness of your work sample questions. Measure the average, standard deviation and how well they correlate to later stage scores.
  • Measure time to hire and number of applicants (but don't obsess over these metrics)
  • If you see a problem, change your process.

We designed the Applied recruitment platform to make the above process as easy and effective as possible - from writing conversion-optimised job descriptions to tracking and reporting on your recruitment success. If you’d like a whistle-stop tour of how it all works, feel free to book a demo, or browse our resources.