We pair a lot at Cultivate, and we know that pairing isn’t something you can just do and expect to be effective at straight away – it’s a skill that needs to be developed. Recently, we’ve started more actively teaching other people how to do it, and in the process, we’re also teaching ourselves how to do it better.
We recently taught a pairing workshop at CodeClan (a coding bootcamp based close to Cultivate here in Edinburgh). The heading “pairing workshop”, as opposed to “pair programming workshop”, was very deliberately chosen. By guiding participants through the process of pairing on a non-technical task, we wanted to encourage them to think of pairing as a practical skill, distinct from engineering or programming, that can be learned and refined.
The first step in that process was something that we had affectionately referred to as “pre-pairation”. Before starting any work on the task itself, we asked each pair to talk about how they communicate, and how they felt about the session and the task. We gave them a handout with some questions, carefully chosen to prompt discussion about the kind of differences in communication styles that often lead to friction during pairing. For example:
- Do you like to have quiet time alone to think things through?
- In what conditions do you find it easiest to speak your mind?
- How easy do you find it to take or relinquish control of a task?
It turned out, when we went through the participant feedback afterwards, that the “pre-pairation” was highly appreciated, and singled out by many participants as the most useful thing they’d learned.
Granted, we’re a small team and we’ve already worked together for a long time, in various permutations. But based on the enthusiastic response to this technique from our workshop participants, it seems like there’s a good case to be made for implementing it more systematically, even for an experienced team.
When pairing gets difficult or awkward, it’s often because of issues with communication styles and power dynamics. These might seem like very personal and intangible things, but we’ve learned from experience that the same types of problems tend to come up again and again. The questions above might give some hints as to what they are, and if you can acknowledge them, explicitly and empathetically, they’re often eminently solvable, even preventable.
We talk about these general issues as a team fairly regularly. We also do our best to resolve individual problems when they arise. But given that many common pairing problems are actually fairly predictable, maybe the process of recognising and resolving pair-specific issues can start even earlier – the moment a pair starts working together.
By having an explicit conversation up front, guided by questions designed to expose the differences that lead to the most common pairing problems, we increase the chances that we’ll be able to recognise issues quickly when they appear, meet them with empathy, and constructively work out a solution.
Equally importantly, a formalised pre-pairing conversation sets a shared expectation that it’s okay to talk about this stuff, and that it’s okay to not be an instinctively great pair right away.
If you ever pair, I encourage you to try this – I’ll definitely be doing more of it. The list of questions above is a starting point, but we’ll undoubtedly be adding more prompts as we think of them. If you’ve thought of an especially revealing or enlightening question that could help, let us know!