After honing in on the basics of what makes a usual pair programming session run smoothly (as mentioned in Part 1), you’ll need the right tools to make it work remotely. There are a few factors in ensuring communication is strong so that you and your partner can focus on delivering a great product instead of constant technical difficulties.
Use tools effectively
An effective remote collaboration setup using the use of Visual Studio Live Share to work on code, and Google Meet for audio, video, and anything else that needs to be presented.
Regular screen sharing is rarely the right tool for the job when it comes to pair programming. Small text can show up as blurry and the inability to scroll or switch files means that you’re debugging through a peephole. It also means you can’t easily trade off control, which limits the ability to collaborate.
Using an effective pair programming tool like Floobits or Visual Studio Live Share will massively improve productivity as opposed to simply screen-sharing. These tools let you share a workspace and contribute to the code at the same time.
This is especially important when one of the pairing engineers is more junior, as being able to demonstrate a concept directly is much more effective for learning than trying to explain it over a blurry video screen.
Where you should screen share is if you’re running the code locally. Looking at the same exact application is much better than trying to replicate unexpected behavior on different machines.
This may seem obvious, but I recommend using voice chat such as Google Meet, Zoom, or Discord instead of text communication. You’re going to be busy enough typing and reading code without having to switch back and forth between code and texting.
Don’t stay completely in “Work Mode”
When working remotely, it can be easy to fall into the trap of only dealing with your coworkers as workers and not as people. While you’re writing code together, take breaks, take opportunities to talk about shared interests, or just check-in and see how things are going. This will not only keep both of you happier, but will also make the code you produce together better by giving you each a chance to cool down and avoid getting tunnel vision.
At Merit, we’ve had several new engineers start at the company since we’ve started remote work. Pair programming has been one of the most effective ways we’ve had to get to know each other and start working together. The team-building benefits of actually working on the same set of code for an hour or two cannot be overstated
Pair programming is a fantastic tool for any organization, but has become more difficult in this era of remote work. Not only do you and your team need to be more proficient at the basics of pair programming to make effective use of it while apart, but new skills need to be developed to be effective programming partners in a remote situation. Developing those skills is extremely rewarding as it makes your team more effective, and sheltering in place more bearable.