Remote Pair Programming Benefits and Tips
My first experience with remote pair programming was in Berkeley's Engineering Software as a Service class on EdX.org. The prospect of a video conference, sharing my screen, and trying to code with a total stranger was intimidating to say the least. It turned out to be a fantastic experience, though. I met great people and learned way more than I could have on my own.
Since then I've paired up with people all over the world through Agile Ventures,The Odin Project, Viking Code School, and most recently FreeCodeCamp.
The intimidation factor is always there for me at the beginning, but the benefits are worthwhile. I always pick up new ideas, and engaging in conversation helps me think about problems differently. I start noticing more edge cases and inefficient algorithms and learning more effective ways to solve a problem. Building my network has been a nice added bonus, and it already led to one paying gig as a TA with Viking Code School.
Pairing up with a stranger can be a challenge at the beginning. Here are some tips for a positive experience:
Setup
- Use a pair of headphones or ear buds. This will prevent an echo effect that happens when your computer mic picks up the sound from the speakers.
- If possible, use a headset with a built-in microphone. This isn't always necessary, but it can reduce awkward situations. You know, like when your dog is sitting next to you and panting while you're on a video call. Awkward.
- If your camera will be on, think about what your partner will see. Wearing a shirt is usually a good idea. Lying down might present an awkward picture depending on the camera angle. I once paired with someone, and all I could see was the outline of their hip, or something. Super awkward.
- Give a little thought to what's in the background on video calls. You may or may not want to show off those clothes strewn across your bed.
Getting Started
- Take a few minutes to get to know each other. Learn about the other person's background and experience level, and tell them about yours. This will save time later and make the conversation more productive.
- Decide on your goal for the session and how long you're going to work together.
- Make a plan for pairing. Who's driving, and who's navigating? How often will you switch back and forth?
During the Session
- Be a good listener.
- Ask questions.
- Be respectful.
- Share your ideas.
- Remember that no one knows it all - so you shouldn't feel too intimidated, or too cocky.
After the Session
- Take a moment to reflect on what you did, what you learned along the way, and any next steps you need to take.
- Thank your partner for his/her time. If they did something great or helped you in some way, be sure to let them know.
Resources
- Tomato Timer - for switching off during a session
- Ping Pong Programming, and other protocols
- ScreenHero - requires license
- TeamViewer - free
- Google Hangouts - free