Remote Work and Pair Programming

If you are not aware of what pair programming is, I would recommend reading about it first to really benefit from this blog.

Team practices need to be adapted when we’re working remotely. We cannot use the exact same way of working over video calls as we did when we were colocated in offices. Let’s have a look at how pair programming can be adapted to suit remote work during the Covid-19 pandemic.

How does pairing work for remote teams?

You will need to use a video calling tool like Zoom, Google Meet, or Skype to share the screen and talk at the same time. The driver shares their screen, and the navigator tells them what to do.

Having a tool that allows the navigator to control the screen or the editor remotely is sometimes helpful, because then the navigator can actually show what they’re saying by typing it. This is not necessary though. An example of an editor allowing remote control is Visual Studio Live Sharing. There are multiple tools that allow remote desktop control. I believe even Chrome and Skype now offer that option.

How often and when should we pair?

Remote work is quite different from in-office collaboration. While in office, teams sometimes adopt 100% pairing. In remote work however, I am strongly against this. I would recommend pairing in the following scenarios —

  1. Someone needs to learn a particular technology or is new to the team. They can pair with someone for the first 1–2 weeks to get used to the domain and the code.
  2. A fairly complex story needs to be picked up. I recommend one assigned owner, and someone pairing with them off and on. This way, the owner is able to get feedback, but is mostly working individually.
  3. Code reviews and merges. Pair programming while reviewing code allows the other person to review the code, and get problems fixed, all at the same time.
  4. Refactoring / Restructuring the code. A good demo of refactoring can help someone new learn a lot. If I have strong opinions on how to improve the code quality, I pair and basically drive the refactoring exercise. It gives the other person perspective on how to approach it in future.

Overall, while working remotely, I would recommend pairing atleast a couple of hours every week and atmost 8 hours (or around 20%).

Summary

Pair programming is quite effective in improving code quality, solving issues, and ramping up people. I still believe that some pairing is significantly better than no pairing, and would recommend people to give it a try.

However, it should be used more sparingly in remote settings than in colocated teams, and only for specific purposes.

If you liked this article, please share it on social media.

View my courses on Udemy — https://www.udemy.com/user/abhinav-manchanda/
Subscribe to us on Linkedin — https://www.linkedin.com/company/interleap
View all our Youtube Videos — https://www.youtube.com/channel/UC9NGO7UNyFIAK8I-as9SeLg/videos
Join our Facebook Group — https://www.facebook.com/groups/1065474107206895

Subscribe to us on Youtube for an awesome video every Wednesday!

Written by

Educator, Founder @ Interleap

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store