Skip to content

Instantly share code, notes, and snippets.

@dukegreene
Last active May 13, 2020 16:51
Show Gist options
  • Save dukegreene/8c337c53240ea125c25177c4fe5323b2 to your computer and use it in GitHub Desktop.
Save dukegreene/8c337c53240ea125c25177c4fe5323b2 to your computer and use it in GitHub Desktop.

Pairing

Who?

You and at least one friend. (If they aren't your friend yet, you'll be working on building TWO things together! Fun!)

What?

One person "drives"...

  • typing on the keyboard
  • running the code and checking outputs
  • asking questions to make sure they're in sync with navigators

And the other pair/pairs will act as "navigator"...

  • researching documentation
  • offering ideas for the driver to try
  • tracking progress against the README/ user stories/ whatever specifications you're following

And no one stays like that for too long...

  • pairs regularly switch driver/navigator roles
  • they also take breaks when tired or frustrated
  • it's ok to check in more than once to "reset" the pair dynamic, especially after a switch or a lunch break.

How?

We start with a check-in.

  • How do you feel today?
  • How well are you grasping the current material?
  • How often do you plan to switch roles? Per passing test? Per 20 minutes? Decide in advance.

Where? When?

Here. And also, now.

  • Be present with your pair. Especially when pairing remotely. Consider unmuted video as mandatory when pairing.
  • If you need to split your focus or step away, explain why beforehand so they don't feel abandoned.
  • Remember that it's ok to check in more than once! The health of the pair dynamic directly correlates with the velocity and quality of coding/learning. Find your vibe and protect it!

Why?

(First off, what even IS "why"? Does anything have reasons, or do events merely have antecedent events according to physical laws? How important is narrative really?)

Kidding. We're human, narrative is crucial. Here's why we pair:

  • It helps us practice communicating our intentions and understanding about code.
  • It keeps the learning process from feeling isolative.
  • Extra eyes on the code minimize the time spent spinning on syntax errors.
  • Social pressure minimizes time spent being stuck before asking for outside help.
  • It reminds us that we are called to work ON computers WITH humans, not the other way around.

Resources

Pairing is Basically Kindergarten
Daftcode Blog unpacks common misconceptions
It's ok to check in more than once!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment