Remote Code Reviews

My team and I had code reviews today. Even in person, they aren't most peoples favorite thing (I actually really enjoy them) so over a long distance it can be even more challenging. We tried a new setup today which I think has potential, so thought I'd pass it along to you.

I'm the only remote person on my team, but the principles should be applicable where that's not the case. In this setup, the other team members shared a conference room.

First, we use Google Hangouts. We have a permanent link we use to go chat with each other (affectionately known as "The Batcave"). First step, everyone to The Batcave.

Second, everyone except one person in the room mutes themselves. That person's laptop effectively acts as the conference line for audio.

Third, I signed into the hangout twice: once in Chrome and once in Firefox. Why? This allows me to do two things: 1) it allows me to both see the person presenting in one window and their code in a second window and 2) it allows me to mute all sound from Firefox so I don't get a wicked echo (which is what happened when I just signed in twice using Chrome).

Fourth, open up your Volume Mixer. In Windows 10, right click on the sound icon on the taskbar and select "Open Volume Mixer". Now mute Firefox and the Hangouts Plugin.

Lastly, whoever is presenting needs to present their screen on the projector for those in person, as well as share their screen in Hangouts so the remote people can follow along.

With everything wired up, I had one monitor displaying the code in question and a second monitor with a view of the room so I could see everyone else. The result was a much improved experience for me. No more wondering if someone looks like they're about to ask a question, or trying to read tiny code on a projector screen via a webcam.

Hope this helps! If you have ways you do remote code reviews, I'd love to hear about them in the comments.

EDIT 1/11/16: today we also tried a new tool, called Zoom. It has a few cool features including the ability to view faces while screensharing simultaneously. This allows you to only have one browser open, instead of two as in the solution presented above. You can also doodle, take control of the other person's machine and a few other neat things. Downside is that it requires a paid license. If your company will spring for it, may be worth checking out. You can see a screenshot of me using it below, with my coworker presenting his code while I still see his face.

portrait title

About Scott

I am a software engineer from Bozeman, MT enjoying the slightly warmer climate of Colorado. I think code can change lives. I think lives are worth changing. I write code.

You can find me on Twitter, LinkedIn, , and Github.