1. Overview
  2. Mentorship
  3. Pair Programming

Pair Programming

Read this together

🟦🟦🟦 Explain how pair programming is done.

🔹 Understand the problem: Read through the userstory (the goal of the task you chose) and play back to each other how you understand it. Clear up open questions or potential misunderstandings.
 
🔹 Do further research if necessary.
 
🔹 Come up with a solution: Brainstorm what potential solutions for the problem are silently.
 
🔹 Then come back afterward and discuss the solution you chose and why you chose that solution.
 
🔹 Plan your approach: For the solution you chose, what are the steps you need to take to get there? Is there a specific order of tasks to keep in mind? How will you test this? Ideally, write these steps down, in a shared document. Use miro if needed.
 
🔹 TAKE ON THE TASK
 
🔹 Test the code live in game for issues. Fix issues.
 
🔹 Document the part of the code you did not get right and ask the one who did, update it once you get it right.
 
🔹 Celebrate your accomplishments!
 
🔹 There is a lot to go over in this next bit, let's all open the card together:
 
Send them all the card link and have them join it.
 
🔹 What I just described is the planning and post-completion bit of pair programming but you need to understand how to do the pair programming itself.
 
🔹 Everyone join me on the 🟥 part of this checklist and read it together.
 

🟥🟥🟥 TAKE ON THE TASK

Read the ⭕⭕⭕ bits.
 
⭕ Choose a tool:
 
Fully remote controlled collab: 
 
⭕ Decide who is more experienced out of the 2 of you
 
It does not matter if both parties have little experience in this. Follow the process to grow each other's problem-solving thinking skills.
 
Don't let impostor syndrome get the better of you.

⭕ Assigning roles

The more experienced person is now considered the Navigator.
 
The Navigator's job is to tell the Driver, who is now the other person, what to do verbatim.
 
The Driver should always talk through what they are doing while doing it.
 
⭕ Agree on one tiny goal at a time. This can be defined by a unit test, or by a commit message, or written on a sticky note.
 
⭕ Switch who is the driver every 5 min or so. Shared active participation keeps the energy level up and we learn and understand things better.
 
Credit to this idea:
 
Done reading? Post the word Hamburger in Discord chat ;). See if your pair has already posted the word and if so, make a new channel in Discord and follow the process above to pair program.
 
Don't worry about saying bye, just go to it now and invite your pair!
 

Read the 🟦🟦🟦 at the start one more time. 

Have 1 of the two people read this:

 

🔹Say: Understand the problem. Read through the user story and play back to each other how you understand it. Clear up open questions or potential misunderstandings.

🔹Say: Do further research if necessary.

🔹Say: Come up with a solution. Brainstorm what potential solutions for the problem are silently.

🔹Say: Then come back afterward and discuss the solution you chose and why you chose that solution.

🔹Say: Plan your approach. For the solution you chose, what are the steps you need to take to get there? Is there a specific order of tasks to keep in mind? How will you test this? Ideally, write these steps down in a shared document. Use Miro if needed.

🔹Say: TAKE ON THE TASK

🔹Say: Test the code live in game for issues. Fix issues.

🔹Say: Document the part of the code you did not get right and ask the one who did. Update it once you get it right.

🔹Say: Celebrate your accomplishments!

🔹Say: There is a lot to go over in this next bit. Let's all open the card together.

Send them all the card link and have them join it.

🔹Say: What I just described is the planning and post-completion bit of pair programming but you need to understand how to do the pair programming itself.

🔹Say: Everyone join me on the 🟥 part of this checklist and read it together.

🟥🟥🟥TAKE ON THE TASK

Read the ⭕⭕⭕ bits.

⭕Choose a tool:

Fully remote-controlled collab: Connect to Work or Games from Anywhere | Parsec

Just IDE: Tools - Video chat with real-time collaboration

⭕Decide who is more experienced out of the two of you.

It does not matter if both parties have little experience in this. Follow the process to grow each other's problem-solving thinking skills.

Don't let impostor syndrome get the better of you.


Assigning roles

The more experienced person is now considered the Navigator.

The Navigator's job is to tell the Driver, who is now the other person, what to do verbatim.

The Driver should always talk through what they are doing while doing it.


Agree on one tiny goal at a time. This can be defined by a unit test, by a commit message, or written on a sticky note.


Switch who is the Driver every 5 min or so. Shared active participation keeps the energy level up and we learn and understand things better.

Credit on this: On Pair Programming

Done reading? Post the word Hamburger in Discord chat ;).

See if your pair has already posted the word and if so, make a new channel Imgur in Discord and follow the process above to pair program.

Don't worry about saying bye, just go to it now and invite your pair!

Read 🟦🟧🟦 to remind yourself how to start.


Was this article helpful?