Using Pairing Sessions in the hiring loop
A pairing session is when a candidate solves the problem while sharing a workspace with the interviewer. This approach mimics a pair-programming software development technique. The goal is to understand how the candidate thinks and to predict how they will perform if hired. The setting is synchronous, and the interview could be either on-site or remote.
This type of interview is similar to the whiteboarding interview. The principal difference is that participants use an actual programming environment.
Pairing Sessions: are they unbiased?
Pairing sessions share many biases with other face-to-face interviews due to their setting.
The interviewer has to detect and avoid their first impressions. They have to focus on the candidate's skills, not on whether they like a candidate personally. They have to be well-trained to recognize a correct approach when it is not an established one. And they have to make their decision in a limited span of the interview. In such circumstances, brains use all the possible help from the biases to fill in the gaps.
The problems themselves also add biases to the process. They and their context have to be compact enough to fit into the interview span. That restricts the available options, and companies start re-using well-known programming riddles. When the candidate is familiar with the task, the interview metric alters. It starts favoring candidates based on their memory rather than on problem-solving abilities.
In some teams, such interviews become a rite of passage and evolve into a brutal elimination. If the interviewer struggled to pass the same test in the past, they could subconsciously make it harder for the applicant. Rather than focusing on the candidate's strengths, they see it as a tribe rite to identify the worthy. That introduces biases and alters the interview goal, as it no longer favors the skills. Instead, it starts selecting the candidates with the same traits as the interviewer.
Pairing Sessions: are they low-stress for your candidates?
For the candidate, it is a face-to-face exam to prove that they are worthy of the job.
Even for the companies that use pair programming every day, this is, after all, an interview. It implies the power imbalance between the participants, with one judging another. During daily pair-programming sessions, both participants collaborate to solve the problem. Even when on a tight deadline, they are both equally against the clock. In contrast, during the interview, the candidate is alone against both the task and the clock. The role of the interviewer is to observe, judge, and steer the problem-solving process. Not take an equal part in it, as they would do in real life.
It can be as bad as to make anxiety coping skills play a heavier role than programming skills. The NCSU study "Does Stress Impact Technical Interview Performance" puts it straightforwardly:
"all women who took the public interview failed, while all women who took the private interview passed."
Pairing Sessions: are they real work?
But only in the companies that carry out pair programming as their lifestyle.
If the company does not use pair programming, it will not be what the candidate will do when hired. If it does, there are still two main distinctions from real work: the power imbalance between the participants and the time constraint. The power imbalance contributes to the candidate's stress levels, unlike real work does. And the time restriction limits the questions to simpler ones without much context. It is close to impossible to fix an actual bug during the one-hour interview unless it is on the surface or trivial. Because of this, the interviewers have to give synthetic tasks that do not look like real work.
Pairing Sessions: are they a good predictor of future performance?
But only for the companies that practice pair programming.
The interview will assess whether the interviewer is comfortable working with the candidate. It is an important metric, and it is crucial for teams that practice pair programming. However, due to the time constraint, the candidate will likely work on a synthetic task. That will give only a rough estimate of how well they would build the actual product.
Pairing Sessions: how to improve your hiring loop
Stop using them as an interview filter.
Pair-programming is an excellent problem-solving tool when used for its strengths. It promotes code quality, team building, and fluent knowledge sharing between participants. But pairing sessions don't have those benefits when you use them as a screening tool. Instead, this interview type starts favoring stress resistance and anxiety-coping mechanisms. It does not measure the skills required to build your product.
If you still prefer to use it as a screening tool, be explicit and upfront about that in the process description. That will attract more candidates with previous pair-programming experience. Thus, improving the signal-to-noise ratio of your hiring loop.
AutoIterative Job Interviews to the rescue!
We created AutoIterative Job Interviews to measure how well the candidate can do the job. Using it as a screening tool will fill your hiring loop with applicants who showed their ability to ship a working code to production. From there, you can focus on the candidate's other traits, like a cultural fit.Start hiring now
Want a second opinion?
Here is what other people say about Pairing Sessions:
- In his monumental work on pairing sessions, Martin Fowler enumerates the challenges of a pairing session.
- A description of what it takes to make a pairing session "blind" in order to eliminate biases, and a follow-up article.
- Thoughtworks, a company that embraces pairing, explains the expectations from the pairing interview. They also outline the principles of pairing programming when it is not used as an interview.
- Candidate perspective: Brennan Moore makes a point that live coding inteview test culture fit more than technical abilities.
- Candidate perspective: live coding being extremely stressful, and some advice on how to deal with it.