How to Run a Sensible Live Coding Interview
Hannah Drewry / LinkedIn
Testing a candidate's technical ability to see if they have the required core skills for the position is an integral part of hiring developers.
Employers and employees alike can waste many hours on interviews during the hiring process. Traditionally, "live-coding interviews" involved giving the candidate a task to solve in real-time. Many developers dislike this type of assessment, since it can be very stressful.
In this post, we’ll delve into how hiring teams can improve their processes to turn live-coding interviews into a competitive advantage.
The Advantages of Live Testing
Classic live-coding interviews may be said to have an advantage over take-home ones as they do not require an after-hours commitment. Although, in reality, this is not the case because the candidate would still spend hours practicing for their live coding session. Possibly even spending more time than usual because they do not know in advance what topics will be covered.
Live-coding interviews do have one main advantage over take-home testing. They can give you a deeper understanding of how candidates think and communicate.
Using a Combined Approach to Testing
We suggest using the best of both worlds and a combination of approaches:
- Send a take-home challenge in advance (less than 1h time investment) so that the candidate can become familiar with the overall assignment by writing code that meets the minimal acceptance criteria. Here they would follow a similar approach as for the take-home tasks:
- Instead of sharing your take-home challenge as an email/Word doc/ zip file/, use a Git repository (ideally, use GitHub as most developers already have an account there).
- Instead of asking them to send you an email when they are ready, tell them to create a Pull Request.
- To avoid losing emails, ask them to create a ticket (e.g., GitHub issue) instead on their repository whenever they run into issues.
- Pre-upload a project template (or templates if you expect submissions in multiple tech stacks) so that your candidates don’t waste time setting everything up from scratch. You can use the DevSkills upload script that supports a number of tech stacks.
- Follow-up with a live coding session where the goal is to extend what they did during the take-home stage with new features. This way we reduce stress while learning more about the candidate’s thought process and communication skills. As to what tasks might be addressed during the follow-up session, to enable a non-biased assessment, the team should prepare a scorecard that lists the possible things to do during the test, along with hints and tips that might be helpful for the interviewer.
Embrace Continuous Improvement
The first time you use a combined approach, you may experience some candidate confusion as they adjust to the new approach to testing. However, you can ensure your tests are up to standard by following these three steps:
- Add the following to the challenge criteria: "Describe one thing you'd improve about this coding task".
- The interviewer should ask for feedback at the end of the live coding session.
- If there is a good suggestion, implement it right away.
These rules will ensure your hiring teams receive direct feedback from candidates that will assist in improving the solution in order to make it foolproof for other users.
Hiring developers is a challenge. However, it does not need to be. Using the combined interview recommendations above, you will save yourself valuable time and gain a deeper understanding of your candidates in terms of how they think and communicate, and how they will apply this to their role.
Designed by industry experts from leading companies such as Stripe and Spotify, the DevSkills out-of-the-box solution supports most modern programming languages and tech stacks.
Our best-in-class, real-world coding tests simulate the problems that developers are used to solving on a daily basis.