Hiring good developers requires using the right tools during the recruitment and interviewing process. This includes thoroughly evaluating candidates’ coding abilities and their communication skills, particularly for remote roles. Thankfully, pair programming interviews excel at testing both of these skills. Industry research reinforces the value of skill assessments in hiring, showing that companies using such methods are 24% more likely to hire employees who surpass performance expectations, and incorporating pair programming in the interview process can significantly reduce the risk of costly hiring mistakes, which can amount to as much as 30% of an employee’s first-year salary.
Don’t know what pair programming interviews are? Want to know if it’s a good tool for assessing your candidate’s skills?
Keep reading, and discover how effective this concept can be! It has worked brilliantly in our recruitment process for more than a decade!
What is Pair Programming?
Pair programming is an Agile software development technique where two developers sit at a single workstation and work together to solve programming problems.
The person writing the code (often called the driver) and the one offering insight (often called the observer or navigator) will switch roles as needed.
Usually, the people paired up will have disparate levels of experience, with the intent that the expert developer slowly shares information and knowledge with the newbie, thus increasing the rate at which the newbie learns. Sometimes two experts can be paired to increase their productivity and efficiency, but this is not common.
What Is a Pair Programming Interview?
A pair programming interview is a method of interviewing candidates where the interviewer and candidate solve a programming problem on the same computer, with the interviewer taking the role of observer/navigator and the candidate as the driver.
The idea behind this type of interview is that the interviewer guides the candidate through the resolution of the problem, sharing their opinions and observations along the way.
Benefits Of Pair Programming Interviews
Given the method, what are the benefits of pair programming interviews?
- Focus on the right skills: A pair programming interview is excellent at testing a candidate’s problem-solving and communication skills.
- Make better decisions: By allowing your candidates to solve a problem together with the interviewer, you can better evaluate them in a sample of the environment they will face in their day-to-day work.
- Faster hiring: By being an extensive test of a candidate’s abilities, pair programming interviews are a faster method than other alternatives that may take multiple stages.
- Better for the candidate: With a good premise for the problem and a savvy interviewer, candidates feel positively challenged at the same time, they get to know a bit about the company, their potential team, and the kind of work they will do. It is far more stimulating than other traditional interviewing methods.
- Can be conducted online: You can have the candidate be interviewed from anywhere, making this an ideal test for remote positions or simply to increase the comfort of all involved. For in-house positions, having online interviews is also important if you’re hiring an international or faraway candidate. More on online interviews later!
How To Conduct a Pair Programming Interview?
You’ve established that a pair programming interview is the right option for your hiring needs, but how do you organize and conduct them? Here are a few considerations you should have:
1. Preparing The Interview
Create a baseline test
By far, the most important step is making sure you give all your candidates the same opportunities and challenges. Make your problem the same across the board and ensure you have guidelines on how far the interviewer should help the candidate. That is the only way you’ll be able to assess them reliably and without bias.
Base it on a real problem
These kinds of problem-solving exercises are far more effective if you use a real problem people at the company have faced before. This is a good time to involve the whole development team to help you create a good premise that will test the kind of capabilities you are looking for.
If the candidates feel like the problem is cookie cutter, they won’t feel challenged, nor will it give them a good metric as to what they can expect on their job.
Make it short
Interviews such as these shouldn’t take more than one hour, so make sure the problem you give them is easy enough to complete under an hour but hard enough that they will need more than half the allotted time to do it.
Create A Small Battery Of Questions
Be sure to prepare a small list of code interview questions. Emphasis on small here.
Ideally, you’ll want to be flexible and ask the candidates about the way they are currently solving the problem so you can get a feel for their thought process, but it doesn’t hurt to have a few questions that can be applicable to all candidates.
Make sure you don’t ask them too many questions with potentially long answers, or you’ll risk having them go on long tangents of thinking or answering and grind the test to a halt.
2. During The Interview
Communicate the end goal clearly
Before starting the interview, make sure your candidate is aware of your expectations. Let them know what you are looking for and how you are evaluating them. Also, be sure to point out if there are things they should avoid doing.
Be Open To All Solutions
You’ll probably be aware of the more common ways of solving the problem you set your candidate to do, but do not immediately discard solutions that fall out of that comfort zone.
Besides testing your candidate’s problem-solving, you also want to give them the space to express themselves. They may just surprise you with their creativity!
Help Candidates If They Get Stuck
Candidates will feel terrible if they waste the whole time slot for the interview, getting stuck on something they could have easily figured out. It may just be nerves or simply forgetfulness.
If you see your candidate getting stuck, steer them by asking questions that will help them think about the problem without answering away. This is a great opportunity to see their thought process when trying to solve the problem.
Ask them about their current thoughts on the problem and what options they are considering to solve it. By working out an answer to your question, they may just find a way to continue the test.
Your candidates should feel challenged, but not to the point of feeling stressed. You want to test their collaboration and communication skills, so engage with them and make the interview a collaborative experience.
If you don’t, you’re better off conducting a regular code test.
3. After The Interview
Don’t Get stuck On The Right Answer
After the interview, it’s time to assess how the candidate did. But remember that sometimes getting the solution right isn’t as important as having a communicative or humble candidate.
Getting the right answer is important, yes. But when push comes to shove, having a candidate that meshes well with the rest of the team or one that can take criticism and improve may be a better fit. It all depends on your company’s culture.
Make sure you keep that in mind when evaluating your candidates.
Conducting A Pair Programming Interview Online
If you want to conduct a pair programming interview online, you’ll need the right tools. And none is more important than choosing a good platform to host your test in. You’ll want a tool that not only supports the language and other tools and integrations you’re using but also that is simple to set up and code in. You’ll want to have the most seamless experience possible so that the tool is not a hindrance to you or your candidates.
That said, here are some of the best platforms to conduct your online pair programming interviews:
- CodePair: CodePair is a tool specifically made for online pair programming interviews. A CodePair interview can be set up ahead of time with specific modules and other integrations so you can create an environment that closely resembles your dev team’s daily working conditions. You can also take note of the answers to your code-pairing interview questions and then pull them up later when you need to evaluate the candidate.
- CoderPad: CoderPad provides several services, among them online pair programming interviews in the form of their Code Together feature. One of the unique features of the platform is its Drawing Mode, where users can create diagrams and sketch directly in the browser to quickly visualize ideas and structure their thoughts.
- CoderByte: CoderByte features the standard live code pairing interviews but stands out from the crowd by providing hundreds of coding challenges that you can use as templates or starting points to devise your own tests.
Hiring doesn’t have to be a challenge. By using pair programming interviews and engaging with your candidates with challenging problems, you’ll be able to retain their attention and get the best results from them.
If you’re looking for expert developers on just about any technology and language, DistantJob can help you! We have an extensive talent pool and can find the right people for the job. Partner with us to ease your hiring process and match your needs to not only the most qualified people but also the best cultural fit. You’re a click away to find the right developer for your team!
FAQ on Pair Programming
A pair programming interview is a collaborative coding exercise where candidates work with interviewers to solve coding challenges in real time, assessing problem-solving skills, technical proficiency, teamwork, and communication abilities.
The biggest mistake in pair programming is taking control and not actively listening to your pair’s input and ideas.
The benefits of pair programming is the ability to observe the candidate’s problem-solving approach, technical skills, collaboration, and communication abilities in a real-time coding scenario.