Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 4.11 KB

pair-programming.md

File metadata and controls

86 lines (55 loc) · 4.11 KB

How to Pair Program

Projected Time

About 45 minutes

  • 20 minutes for video walkthrough of slides and basics video
  • 10 minutes for Group Practice
  • 10 minutes for Independent Practice
  • 5 minutes for Check for Understanding

Prerequisites

Motivation

Pair programming is a very common way to write code and to solve software engineering problems. Pair programming generally produces higher-quality code, meaning fewer bugs and better readability.

"If you don’t like pairing, don’t pair. But be prepared for the folks who have developed the pairing skill to fly past you." - "Uncle" Bob Martin

Which companies use pair programming?

Objectives

Participants will be able to:

  • Explain why pair programming is useful
  • Show how to drive and navigate
  • Demonstrate how to be a good pair partner
  • Outline potential challenges

Specific Things to Learn

  • What pair programming is
  • Why pair programming is useful
  • How to drive and how to navigate
  • How to be a good pair partner

Supplemental Materials

Lesson

Common Mistakes / Misconceptions

  • "I could be doing this so much faster on my own." Sometimes, this is true. But a big drawback to coding on your own is that you're far less likely to catch bugs early on. And, since no one is checking your code, the readability of code you write in isolation may not be as good as the readability of code you wrote with someone else. So while you may be able to write code more quickly when coding on your own, the time it takes to work through bugs on your own usually negates this advantage.
  • "Real programmers do not program in pairs." Some companies exclusively use pair programming (Pivotal Labs is one such example). Many companies use pair programming at certain times or in certain situations. Some companies don't practice pair programming at all.
  • "I don't know what's going on or what my pair is doing, so I'm just going to sit back and watch them." Pair programming is not pair programming when only one person is doing the work. Speak up and advocate for yourself. Ask questions and stay involved! If you need a break to reset your mind, ask for one.

Group Practice

  1. Collaboratively come up with a list of questions to ask your pair partner before you begin a pair programming session together. Write these down for later reference.

  2. Collaboratively edit your questions list at the end of your pairing.

Additional Resources

Independent Practice

  1. Techtonica staff will assign pairs. Ask and answer the questions we came up with during the Group Practice. Work with your pair partner on this quick code challenge on codepen. Be sure to fork it first.

Check for Understanding

  • What is pair programming?
  • What benefits does pair programming have?
  • What does each person in pair do while pair programming?
  • What should you do if your partner's pace is very different?