pair programming interview questions

Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.

Pair Programming Interview Sample

Definition of pair programming in interviews

Pair programming is used in technical interviews to test candidates’ skills. This is how it works:

The interviewer and interviewee share a coding platform to solve a technical problem together.

The test itself takes about 45 minutes. During it, the assessor or interviewer guides the candidate through the process and the candidate writes most of the code. They discuss the process and both can ask questions, give their opinion, and voice concerns.

A code pairing interview helps interviewers get an understanding of the candidate’s coding, collaboration, and communication skills.

But why is this a great way to test candidates? Let’s find out.

Benefits of pair programming in technical hiring processes

What are the benefits of a pair programming interview?

After all, there are several other ways to test developer skills, such as whiteboarding assignments and screening tests.

However, pair programming comes with several advantages.

  • Better hiring decisions. A good pair programming session focuses on candidates’ skills. Studies show that this type of “work sample” is the most reliable assessment technique.
  • For example, whiteboarding tasks require candidates to perform in front of hiring managers — and as research shows, these types of tests measure candidates’ anxiety levels and not their skills. In the same way, screening quizzes don’t show how well candidates code; only how good they are at brainteasers. But a well-designed pair programming session imitates a real-world pair programming scenario and isn’t about coding from memory, but solving a real problem. As a result, hiring managers can uncover a good understanding of candidates’ collaborative programming skills.

  • Objective hiring process. Pair programming is a much more objective coding assessment test than most other alternatives (with the exception of take-home coding assessments). In other words, you choose the most qualified candidate rather than candidates who meet your biases (we all have them). This is huge for what talent your team takes on, as well as your diversity efforts.
  • Faster hiring cycles. Because you can zero in on candidates based on their skills, your hiring process speeds up. You don’t need several rounds of screening tests or similar because pair programming is such a thorough approach.
  • Better candidate experience. A challenging but fun pair coding interview also makes the entire experience better for candidates. They leave the experience with a better understanding of how your team works and get to know team members. As a result, you attract better candidates now and in the future, lower your recruitment costs, and end up with more qualified candidates.
  • Higher ROI. Industry research shows that companies that use skill assessments are 24% more likely to make hires who exceed their performance goals. What’s more, the cost of a bad hire can be up to 30% of the employee’s first-year salary. Pair programming significantly reduces that risk.
  • Here’s why Monica Lent, founder of Affilimate and a previous hiring manager for a fast-growing FinTech company, prefers pair coding interviews:

    “In my experience, the most effective strategy for assessing a developers skills is by pair programming on a simple but realistic coding task.

    Its an extremely useful approach for a few reasons:

  • The candidate is in a familiar setting (their own computer) working through the task
  • You can assess their communication skills as they work through a problem
  • You can discuss their thought process instead of only seeing the end result
  • The candidate can also assess the skills and communication of the interviewer
  • If you have a great team, the pair programming phase can be the one that helps a candidate decide they want to work for your company, because theyve already gotten a realistic idea of what it would be like to collaborate on a technical problem.”

    pair programming interview questions

    Next, how do you hold a great pair programming interview?

    There are no right or wrong solutions

    For me, it’s just a matter of getting the job done. While I expect candidates to be at their best, I do understand that they will be nervous which might slightly affect their thinking.

    I mean, having mental blocks during an interview is pretty common (at least for me). I’ve paired with a range of people from new grads, to juniors, mid-level developers and even seniors, and I myself sometimes black out.

    Case in point: when I was being interviewed for my current job (I already had more than six years of Ruby experience at that point), I was chugging along with a simple exercise and I totally forgot how to create a Hash. Like, I just went, “Um. Wait how do I do that again? Um, can I Google something?” Pretty embarrassing, but when I asked, my pair also just blanked out so we both Googled it together. Fun times.

    pair programming interview questions

    As an interviewer, don’t be stuck to the notion of your own solution to a problem. There are 11287398173 ways to write FizzBuzz and your solution is (probably) not the best one there is. Instead, be more open to other solutions and judge them as best you can.

    When I do pairing interviews, I usually have an answer in mind when I ask a question, but I listen and see what the interviewee’s answer is, because it is almost never the same answer as mine. You’ll be surprised at how creative people can get!

    As an interviewee, be aware of this fact and just do your thing. Don’t get stuck worrying that you won’t be efficient (unless that was the interview question!) but at the same time, don’t be sloppy. If you come in to a pairing session for a company that does TDD/BDD, for your sake, start with tests first! They will be looking for that (I do!) and you could end up at the bottom of the pile if you just smash things out.

    How to conduct a pair programming interview

    Now you know what pair programming is and why it’s a useful tool for your technical hiring processes. But how do you conduct a pair programming interview? Here’s what you need to know.

    FAQ

    What should I expect from a pair programming interview?

    Definition of pair programming in interviews

    The test itself takes about 45 minutes. During it, the assessor or interviewer guides the candidate through the process and the candidate writes most of the code. They discuss the process and both can ask questions, give their opinion, and voice concerns.

    How do you approach pair programming interview?

    Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.

    What is pair programming example?

    7 Tips for Successful Pair Programming
    1. Pair programming tip #1: Plan together. …
    2. Pair programming tip #2: Change roles regularly. …
    3. Pair programming tip #3: Good audio and video setup. …
    4. Pair programming tip #4: Avoid micro-management. …
    5. Pair programming tip #5: Be nice and patient.

    How do you do well in pair programming?

    7 Tips for Successful Pair Programming
    1. Pair programming tip #1: Plan together. …
    2. Pair programming tip #2: Change roles regularly. …
    3. Pair programming tip #3: Good audio and video setup. …
    4. Pair programming tip #4: Avoid micro-management. …
    5. Pair programming tip #5: Be nice and patient.

    Related Posts

    Leave a Reply

    Your email address will not be published. Required fields are marked *