The reason why you give a coding interview to a software development candidate is to make an educated guess of how well they will do their job if they are hired. This post will tell you the best way to give an online coding interview and how to provide a better candidate experience by code paring remotely.
Coding interviews used to involve reading tea leaves. Then the crystal ball came along and changed the industry overnight.
Of course, I’m joking but a lot of the popular methods for interviewing software developers predict their success about as well as a crystal ball.
What you want to see is how your developer candidates perform under real-world conditions. At the same time, you want to make it as painless as possible for your candidate to take the test.
An online code pairing interview gives you a window onto your candidate’s development process in as close to a real environment as you will find anywhere.
But it’s important not to cut corners by using outdated methods so we have compiled a list of best practices for holding coding interviews remotely in an efficient way.
By the end of this article, you will know
- The best way to interview a developer
- How to conduct a code pair interview
- How to use Devskiller to give an online coding interview remotely
What happens in an online coding interview?
In a coding interview, a candidate is asked to uses their coding skills to do a certain task.
These tasks can include:
- Doing a very basic task like inverting a binary tree
- Writing an algorithm
- Fixing a piece of code
- Performing a business function
The interviewer watches the candidate complete the task and asks questions about why the candidate made a certain decision or how the candidate would react to a change in the task.
A coding interview should show the interviewer how the candidate would react to similar situations if they were hired. Because of this, a coding interview should give a task that mirrors your candidate’s first day of work. While inverting binary trees and building algorithms are popular types of tasks, they do not tell you much about the candidate. A good software developer won’t be inverting binary trees or building algorithms on a daily basis. They have tools that can do this.
What is a good task for a coding interview?
A good online coding interview task should be a task that the developer would tackle if they started working for you.
In a piece in Wired, Laszlo Bock, former Senior Vice President of People Operations at Google cited research which said that work sample tests are the best indicator of a candidate’s future performance.
So, your coding interview should represent an authentic work sample, under the same conditions that your candidate would face at work.
This means giving them access to all of the resources they would normally use. After all, the best software developers know how to use frameworks, libraries, Stack Overflow, Google, and a number of other online resources to produce clean efficient code within deadlines.
If you want to know how they use all of the available resources around them to solve your business problems, why would you ask them to forgo these resources?
The qualities of a good coding interview task
- The test is an authentic work sample
- It gives your candidate all of the resources they would normally use at work
- It bases the task on a business problem they will face when they start working for you
Now that you have a good coding interview task, you can hold the interview but a thorough test can come at a cost. The amount of time you will need to devote to a thorough test can cause a problem for some candidates.
Stack Overflow’s 2017 developer survey found that only 13.1% are actively looking for a job while 62.1% are not actively looking but are open to new opportunities. If a developer is not actively looking, it is probably because they are already employed. While your candidate might be interested in what you have to offer, it can be difficult for them to take time off in the middle of the day to interview with you. This becomes even harder when the candidate lives in a different city. So how can you make the experience better for the candidate?
How remote online coding interviews make it easier to test candidates
There is a risk that busy candidates would drop out of the pipeline rather than find time in the middle of the day that happens to coincide with when the interviewer was available.
When the candidate is travelling from out of town, coordinating the interview can become even more difficult. Holding an online coding interview is a great way to get around this issue. By removing travel time, it adds a lot more flexibility to schedule the exam.
But to conduct an online code pair test, you need a tool which will allow you to both communicate with your candidates and see what they are working on.
It is easy to have an online coding interview with Devskiller
By the end of this section you will know how to:
- Set up an online code pair interview using Devskiller
- Communicate with your candidate
- Review the code written during the interview
Devskiller already allows you to conduct an automatic first day of work test on your candidates. This can be conducted at the candidate’s leisure and works great as a tech screen but our online code pair means that the tech screen and interview can be folded into one, saving the candidate’s time.
It starts simply enough, the interviewer sends the candidate an invitation to one of Devskiller’s many pre-prepared tests on Devskiller or a test using the company’s own code.
The candidate will then need to start the test at a prearranged time and the interviewer can then join the test.
Once the interviewer joins they have full real-time access to the same IDE that the candidate has. The interviewer can then work on the project with the candidate, deleting or adding code. Pretty cool, huh? But what if you want to conduct a coding interview?
Devskiller has you covered. While the candidate and interviewer work on the same code they can video chat within the app. This way the interviewer can ask questions and gets to know what the candidate is thinking about as they do the interview.
Additionally, the interviewer can focus on subtasks so they can get insights into each step of the process rather than just having the big picture available to them.
The interviewer’s access to the IDE is particularly useful as the candidate and interviewer can run unit tests as they go along or generally see if the code actually does what it is supposed to do.
And at the end of the interview, all of the actions in the IDE will be recorded so the interviewer can review how the interview went and take notes on the candidate’s decisions.
How to hold your first online coding interview
The best place to start is with your tech lead. They will know these kinds of tasks that the candidate will be tackling on their first day.
They should build a task that has these qualities:
- Addresses a business issue
- Is given under real-world conditions
- Is of an appropriate difficulty for the job
Your tech lead can use Devskiller to build a task using your own code or they can choose from Devskiller’s extensive library of premade tests. Your technical interviewer can then hold the interview with a candidate anywhere in the world. You will get a strong indication of the candidate’s future performance while eliminating barriers that can hurt candidate experience.