When I tell people that most of my team pairs most of the time, and that it’s not mandated, they nod and say “Yes but I don’t think my developers would be happy doing that.” But that’s as far as we go. Why are people reluctant to pair?
To pair requires vulnerability. It means sharing all that you know and all that you don’t know. This is hard for us. Programmers are supposed to be smart, really-crazy-smart. Most people look at what we do and say “I could never do that.” It makes us feel a bit special, gives us a sense of pride and pride creates invulnerability. I often hear stories that infer “I’ll just go and do some magic and if it takes a long time you can bet I made miracles happen.”
When done well, the shame of pairing quickly evaporates. As you start to realize that, between the stuff you know and the stuff they know, you can be twice as good, pairing becomes joyous. Together we find solutions that would be out of reach if we were alone.
Sometimes I pair with someone who keeps chipping away at my confidence. If I had more courage I would let them know how each comment makes me feel and suggest a more constructive alternative. Yes this courage takes and even more vulnerability, which is particularly hard when they are filling me with shame by pointing out my incompetence.
It’s hard. Pairing well takes empathy, empathy evaporates shame, allowing courage. As Brené Brown says “Vulnerability is the birthplace of Innovation, Creativity and Change."