
The demand for coders, developers and software engineers has skyrocketed over the last decade. In the job market, 90% of developers have at least part-time work; 77% are employed full time.
For recruiters with no technical expertise in coding or programming, it can be challenging to assess whether the candidate they are interviewing has the skills the company requires.
Skill testing can lead to better hires in virtually every position. Verifying a candidate’s ability, rather than making a hire based purely on what a résumé says, leads to much higher on-the-job success.
And, for software engineers, testing is relatively straightforward. Here are some of the different ways to test software engineers before making a job offer.
1. Coding and programming tests
There are over 200 different coding languages, but generally speaking, software engineers work in 12 main languages.
A survey by HackerRank found that in 2018, 73% of developers said they knew JavaScript, making it the year’s best known language. But student developers are not learning JavaScript – it is not taught in most university computer science programmes.
Why is this discrepancy important? Many recruiters look at a candidate’s résumé, see the computer science degree and assume the candidate has the skills needed.
Or, a recruiter dismisses an engineer’s self-taught JavaScript skills because they do not come with the right pedigree or certification. Hiring teams could be missing out on great employees just because a candidate does not get the chance to prove their skills.
Pre-recorded or one-way coding and programming tests can quickly ascertain whether or not a candidate has sufficient background in a coding language to take on the role’s responsibilities.
These coding tests can be sent to a candidate to complete on their own time. Ask applicants to perform a coding challenge in which each individual solves simulated problems they may encounter while working for the company, such as finding a bug, writing in one language across different platforms, or synchronising a multi-threaded application.
Then, an artificial intelligence tool can assess each candidate’s test and rank them based on how well they performed – meaning the recruiter needs no technical background to see the results.

2. Live coding challenges
Some companies ask their applicants to participate in live coding challenges. Applicants often dislike this pressurised simulation, but it can be very revealing for a recruiter.
Live coding challenges differ from typical coding tests in that they happen in the presence of an interviewer, allowing the interviewer to observe in real-time how a candidate performs when faced with a problem for which they are unprepared.
Usually, a recruiter can see how a candidate is thinking through their solution through screen sharing. The interviewer can see how a candidate approaches the problem from a technical perspective, as well as how they use their soft skills – logic, communication, patience – and how that person might fit with the rest of a team.
Candidates find this experience stressful, but it is a good way to measure on-the-job success.
3. Coding questionnaires
It may sound too easy to be true, but one of the best ways to test a software engineer is to… ask them questions.
Coding questionnaires such as FizzBuzz, Top Coder and Google Code Jam seem deceptively easy at first. But, once you dig into the task, only the most experienced software engineers can achieve a high score on these questionnaires.
On average, these tests should take no more than a few hours and can tell you a lot about a candidate’s abilities.

4. Pair programming
Like a live coding challenge, pair programming allows a hiring team to see how the potential new hire will integrate with an existing team.
Pair programming is when the candidate is paired with an experienced developer from the company to work together on a simulation for the afternoon.
Have the recruiter or hiring manager play the role of “client” or “key stakeholder” within the organisation. The recruiter presents the parameters of the exercise and briefs the pair on the simulation. Then, the candidate works with their partner to complete the challenge as if it is a normal workday.
There are many obvious benefits to a pair programming challenge. It’s a quick way to evaluate a candidate’s hard and soft skills, from coding and time management to teamwork and communication. If a company is hiring for a customer-facing role, it is also great to assess how the software engineer interacts with a mock client.
And, the company gets the benefit of having an expert from its own team assess the technical capabilities of the candidate, having coded next to them for a number of hours.
5. Code reviews
Ask a candidate to perform a code review to verify their programming skills. A code review asks a programmer to look through a piece of code to find problems, errors or bad practices.
The main benefit of a code review is it tests a different way of thinking; while some code tests have the candidate focus on the “what” – what the code needs to do – the code review focuses on the “how” – how does this piece of code work?
A candidate can showcase a different level of understanding, which may be particularly important if the company is hiring for a strategic position.
This article first appeared in Vervoe. At Vervoe, their mission is to fundamentally transform the hiring process from mediocracy to meritocracy.