I had an interesting experience with a pair programming interview recently; it was conducted very differently from the other ones I had been on before and I want to explore the differences between them. Pair programming is a great way to solve problems and it makes for a good interview too. As an interview, it gives you insight into the problem-solving process and the social aspect of working with someone. It is a great way to see them do what you want them to do day in, day out.
The ones I had been to before had worked like a normal pairing session. We had a problem and worked together to solve it. Give and take. Since these were interviews I was driving probably two-thirds to three-fourths of the time, not the normal fifty-fifty split you would expect in an on-the-job session. I had always enjoyed the experience.
This most recent experience I had with a pair programming interview was quite different. The partner wouldn’t actively contribute to resolve the problem. If you asked a question they would answer it, but they didn’t drive at all, and didn’t proactively contribute to the task at hand. This was especially confusing in the afternoon session, which was set up to be done in a programming language I had never used before – by design. I think it was actively trying to push the applicant out of their comfort zone and see how they would react.
It was an interesting experience, and I got to learn a little ruby programming. I would definitely do another pair programming interview. But I feel like I would react against this sort of pseudo-pairing vocally if presented with this again. If that’s how they pair, I wouldn’t be interested in the job. If it’s a behavioral test, I wonder what sort of day-to-day activities they are engaging, if this is the kind of test they think would give them good information. The whole experience turned me off during the interview.
If you haven’t done any pair programming grab a partner and give it a try. Pair programming is a lot of fun, and helps you solve programs in a new way. If you already pair program regularly consider adding it to your interview circuit, but really treat it as a normal pair programming session.