By now, most people understand the benefit of pair programming. Sharing knowledge (and pain) provides a lot of advantages for both junior and senior developers alike.
I really enjoy pair programming, not only for the learning, but for the social aspect as well. It gives me a chance to get to know my co-workers better: the way they work, the kind of work they like, and even just random common interests we have. I’m a fairly extroverted person, so getting to work with someone to solve problems throughout the day leaves me feeling energized and ready for more.
Because I enjoy pair programming so much, I was not prepared for the challenge of remote pairing when I joined a cross-office team. However, like any challenge I face while programming, I sought out some solutions to make remote pairing work well for me.
1. Find the Tools that Work for You
When we found out that we were going to be working across two offices, we knew we would need to find a technical solution to our remote pairing problem. We heard many suggestions, including using Slack for both voice and screen sharing, but we found that many of these resulted in lag.
We ended up using Slack for voice calls and chose macOS’s built-in screen sharing program to share screens. Although the screen sharing app allows the remote user to control the mouse and type, we found that it was easier for one developer to drive while the other watched and navigated.
2. Take Breaks Often
This is a given for any pairing situation. Even as someone who enjoys the company of others, I need breaks to decompress and take a step away from my desk. Sometimes, I just need time by myself to really think about a problem at hand.
One easy solution is to schedule recurring breaks throughout the day. Whether these are five-minute coffee breaks or half an hour to go solo and work heads-down on a feature, it’s important that each member of the pair knows that they will get a break at some point. Set an alarm or timer on your phone or computer every hour or so to remind yourself that you deserve a break.
3. Don’t Be Afraid to Speak Up
One final tip for making remote pairing work is to speak up and let your team know how you feel. If you’re on a team with more than one other developer, let them know if you need to take a break from pairing remotely.
I had spent a week pairing remotely with one of the developers in the other office. We were getting work done and crushing stories, but I was ending every day mentally exhausted. I knew this wasn’t something I could (or should) keep up. Finally, I spoke up at morning stand-up, letting my team know that I was hoping to take a break from remote pairing. To my surprise, everyone was supportive of this, agreeing that we should switch up pairs.
Whatever solutions you choose to implement on your next remote pairing project, remember that you’re part of a team, and communication is a top priority. It’s important to be transparent in how you’re feeling because chances are, your pair feels the same.