Pair Programming

Back

Prepare to Engage

Whether you are starting your day with this activity or wrapping up a long day of technical work with this, take a moment to ground yourself in why you became a student at Turing. This Career Development work is arguably the most valuable component of your education that will lead you into your new career.

Take a moment to reset if needed, meditate, or do some physical stretches/movement to get yourself into the space you need to be in to engage in this work. Some optional guiding questions follow.

  • Why did you come to Turing?
  • What is the thing that will motivate you to keep going on the days/weeks you feel most challenged at Turing?


Learning Goals

  • Explain the Driver Navigator Pair Programming style
  • Identify strengths and opportunities when observing others pair program
  • Identify strengths and opportunities in oneself as a pair programmer
  • Become comfortable screen sharing, typing in front of others, and communicating technical concepts

Vocabulary

  • Driver
  • Navigator
  • Pairing
  • Pair Programming

Pair Programming

Pair Programming is a technique in which two software developers work together on a problem. We commonly refer to it as Pairing. The concept of pairing comes from the Agile Methodology, which you’ll learn more about during your time at Turing.

Driver Navigator

There are many styles of pairing. In Mod 0, we will introduce and focus on the Driver Navigator style. In this style of pairing, the person determined to be the Driver should screen share and type all work the pair does. The Navigator is responsible for doing the problem-solving and communicating to the Driver what they should be typing.

Watch an Example

This video shows two developers pairing on a simple task you probably did earlier today

Watch it, and reflect on how they interacted, and what they each did in the Driver and Navigator role.


Tools

While at Turing, you will have two tools available for remote pairing: Zoom and Tuple. In Mod 0, we will primarily use Zoom. In Mod 1, you will get access to Tuple. While there are many other tools available for use, we prefer students use the same set of tools, so no matter what combination of students we have in a group, everyone knows how to use the tools used. This is similar to what you’ll see on the job, but the specific tools of choice will vary from company to company.

Best Practices

While there is no “right” or “perfect” way to pair, there are some best practices that when followed, set the team up for success:

  • The Driver should maximize the space available on the screen; hide the Dock, shortcuts bar in browser, and use the entire window. Ask the Navigator if they can see the font size in the Terminal and code editor.
  • The Navigator should be specific, don’t leave room for the Driver to make assumptions or have to guess what you mean.
  • Norm on some things:
    • What you will work on and how long you will work before you take a break?
    • Should the driver interrupt with questions throughout, or save them to the end?
    • Be fully present. Neither Driver or Navigator should be checking Slack, their phones, or anything outside of work for the task at hand. Commit to checking those other things during breaks.
    • Switch Driver/Navigator roles frequently so both teammates get practice with both roles!

Optional: Read the “Remote Pairing” section of this blog post from Martin Fowler for more learning!

Pairing Activities

To help you become comfortable with pairing in what may be a very new environment for you, you will have 4 pairing sessions this week, each with a different classmate. Before and after each session, you’ll be asked to prepare and reflect which will support your growth and awareness of your growth.

You can absolutely choose to schedule additional pairing sessions!




Back