Learn to Love REMOTE Pair Programming!

Halee Pagel
3 min readApr 16, 2020
A laptop with code on the screen.
Photo by Clément H on Unsplash

Pair programming: a nerve-wracking and vulnerable experience for some. A cumbersome, time sink for others. Can you relate to either of these feelings? I’m still new to pair programming and in my short experience with it, I have felt a full range of ~feelings~ about it. I’m also new to REMOTE pair programming which adds another challenge on to the pile. But, I’ve learned a ton in the process. And the most important thing I have learned during remote pair programming is this: be an effective communicator.

Okay, let’s go!

One of you is the driver who types. The other is the navigator who describes the coding journey you are both about to take together. Neither one of you has full control of the process so a compromise must be reached. How do you bridge the gap between navigator, who is supposed to word vomit their code ideas aloud, and driver, the person who sits their fingers at the ready? deep breath Both of you, yes even the silent, brooding driver need to ask good questions! And not just good questions, both of you must ask good clarifying questions. How do you do that? What is a good clarifying question? Well, you’ve just asked me one in that last sentence. Excellent start!

Two women sit at a table looking at a laptop.
Photo by Christina @ wocintechchat.com on Unsplash

Examples of Effective Clarifying Questions

Questions the driver should ask…

  • Could you repeat that?
  • Which line should I start typing on?
  • Could you explain that part again?
  • What’s the purpose of this variable?
  • I don’t understand the logic of lines xx-xx. Would you describe it to me?
  • What’s the purpose of this function?
  • I have an idea of where to go from here. Would you like to hear about it?
  • Which file are you talking about?

Questions the navigator should ask…

  • Did I explain my logic clearly?
  • Could you repeat that?
  • I’m unsure where to go next. Do you have any ideas?
  • Which file are you talking about?
  • Which line are you referring to?

Now you may be thinking, “pfft! These questions are simple and obvious to anyone ever. Why should I be asking them?” Well, that’s a great question thanks for asking it!

The example questions I listed above help you become a better pair programmer because you learn to check-in with your partner. This process frequently and consistently ensures you and your pair are on the same page. This translates into a more meaningful pair programming session and the two of you will build trust in each other. When this trust is built up, you are more comfortable talking through your programming weaknesses safe with the knowledge that your partner will non-judgmentally steer you in the right direction.

In the end, you’ll improve your communication skills, build teamwork, and become a better software developer! I challenge you to try using some of these questions the next time you do pair programming. Let me know how it goes!

Thanks for reading! My name is Halee Pagel (rhymes with Cali Bagel) and I’m a software engineer in Tokyo, Japan. You can find me on twitter which I mostly use for liking tech memes and MLB updates. ✌️

--

--

Halee Pagel

Software Engineer | From 🇺🇸 | Currently 🇯🇵 | Loves 🍪⚾️🎮