A really good technical interview - one that evaluates skills accurately, and gets the best results - usually includes a test. But the truth is, not all tests are created fairly. As you start to build the interview process for your next tech role, there are a few things you need to think about in order to create an equitable, relevant test.
First, while all roles can and should be tested, it’s crucial that the test you’re planning actually helps determine the candidate’s grasp of the skills needed for the job you’re hiring for. And that ALL of your potential candidates are able to properly exhibit those skills with the test you’re planning. Different roles will require different tests, some more detailed or advanced than others, and some that are pretty simple - even a standardized test, when designed well, should provide important insight into the candidate’s understanding of important concepts and skill level.
At its core, a good technical test is designed to determine if your candidate has the necessary technical skills to succeed in the role you’re hiring for. The tricky part can be separating what is required versus what’s nice to have in an ideal candidate.
As you plan the test, and the interview process all together, it’s important to remember that not everyone has had access to the same schooling, classes or opportunities - and it’s not a good use of anyone's time to test for skills that the candidate won’t actually use in the job. For example, there are a lot of companies that ask computer science fundamental questions, which if you don't have a CS degree can be really tough. While compsci fundamentals are required for some roles, companies who test for them when the job doesn’t actually require them will eliminate candidates who come to the table from different educational backgrounds. We see a lot of self taught programmers and bootcamp grads facing this problem, even though there are times when their practical experience may be more relevant to the position than what someone learned in a more formal, undergraduate program.
“Everyone is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.”
Once you’ve determined the specific skills you’re looking for and how you’re going to test for them, there are a few more factors to consider: the testing platform, the required tools and tech, the length and timeline, and accessibility.
The testing platform
You want to choose a platform that’s free to the candidates, easy to use, and reliable. The last thing you want is to lose a great candidate because your testing platform was hard to access, difficult to understand, or unreliable - both in terms of connectivity and the ability to save one’s work. Some testing platforms we have successfully used in the past include: Codility, Coderpad, and True Ability. Additionally, there are a few free platforms we often recommend to smaller clients: codesandbox and codeshare.io. And finally, for companies that don't want to invest the time or money into some of those more advanced platforms, a well-written assignment with submission guidelines on GitHub is always a great option!
The length and timeline
Another crucial element of a technical test is the length, and with that, the timeline that you’re providing to candidates to complete the test. When you’re creating the test for your role, it's important to be aware that not all candidates have the same availability. Candidates with responsibilities beyond their day jobs (childcare, elder care, etc. which often fall to women) may not have the same amount of free time as other candidates in the pipeline. So be thoughtful as you’re planning the test, take into consideration how long the test might take and be generous with your timeline. We often prefer to send the test to candidates and ask them to set a due date for themselves once they have scoped out the work - that way they can plan to work on the assignment around their schedule, and we have a set due date to hold them accountable to.
The required tools and tech
You need to know the exact tools and tech required for your candidates to properly perform the test, and you need to be up front with candidates about what they will need. A test cannot successfully gauge a candidate’s skills and abilities if they don’t have the correct tools and technology to complete the assignment. In order to create a truly equitable and inclusive testing process, you need to ensure that everyone can take the test and that candidates aren’t electing out because they don’t have access to the required tools, or were blindsided by the need to obtain those tools themselves rather than having the hiring company provide them.
This brings us to the accessibility of your test - are you offering solutions to candidates who don’t own the required tools and tech? If you’re requiring things like screen sharing, what do you do if a candidate is concerned about how that may violate their privacy? You don’t need to have solutions to every single possible scenario ahead of time, but you do need to be willing to work with your candidates who make it to the testing stage, and be willing to create fair solutions to accommodate them. Ultimately, it’s on the company and the interviewing team to properly prepare candidates for the test and the overall interview process.
Don’t lose a candidate because they couldn't even take the test - create a strong, accessible test in order to make educated decisions based on the skills your candidates demonstrated during the testing process. Additionally, it’s crucial that you don't pre-judge candidates, who opt not to take your test, as uninterested or unqualified - the fact is, there are always other opportunities and they may be considering several other companies with easier, or more relevant, testing options.
Creating an excellent technical interviewing process that gets results isn’t an easy thing to do: particularly when incorporating a test to help evaluate a candidate’s skills and abilities. But if you put some strategic thinking behind test design, and flexibility and accommodation to test delivery, a technical interview test can actually improve the candidate experience, remove one of the many barriers to building a truly diverse team, and help you get the best results as you build a strong technical team for your company.