a violinist learns to program
Pair programming is recognised as a way of writing great code, but can remote teams do it?
Absolutely! I did my entire Makers Academy course remotely and I paired remotely everyday. It definitely has some benefits over in-person pairing and I think it's a great way of working.
If you haven't already, read my article 10 Tips for Great Pair Programming - this post assumes you've read it. The most important tips from that article? Swap driver/navigator roles every 25 minutes and listen more than you talk.
The main difference with pairing remotely is that you have to be a bit more intentional about your communication. Here are my 5 tips for communicating well virtually.
1. Use your camera
The major drawback of pairing is that you lose body language communication. You can in large part make up for this by turning on your camera and making sure your pair's camera is on. I like to use Zoom for pairing as the screenshare/camera work well together.
2. Check in with your pair
Before you start working, make sure to ask your pair how they're doing - the same way you would in person. Maybe even have a virtual cup of coffee together in the morning!
3. Take good breaks
This is one of the major benefits of working remotely - you're in your own space so on your breaks you can easily meditate/pop outside to the garden/do your laundry.
4. Create a dummy branch
Swapping driver/navigator roles regularly is critical for healthy pairing. If you're concerned about pushing experimental code to git, create a dummy branch that you can push to in order to swap your possibly embarrassingly rudimentary code - then you can start using the real branch when you have passing tests.
5. Virtual high fives
Totally a thing. The key is to slap the camera (almost) with one hand and slap your thigh with the other to get the sound. If you want a slightly ironic high five, you can facepalm at the same time.