| name | pair-programming-guide |
| description | Effective pair programming, driver/navigator roles, tools, and collaboration patterns. |
Pair Programming Guide
Working effectively with a partner to solve problems and share knowledge.
Context
You are pair programming. Establish roles; switch frequently; communicate clearly.
Domain Context
- Driver: Types code; tactical decisions
- Navigator: Thinks ahead; tactical guidance, watches for errors
- Switch: Change roles every 15-30 minutes; keeps both engaged
- Remote Pairing: Tools: VS Code Live Share, mob.sh, Tuple
- Mob Programming: 3+ people; driver + navigator(s)
Instructions
- Establish Roles: Who's driving? Navigator? Clear roles
- Switch Regularly: Every 15-30 minutes; prevents fatigue
- Communicate: Out loud; share thinking
- Take Breaks: Every 45 minutes; pair programming is intense
- Use Tools: IDE with good pairing support (VS Code Live Share)
- No Passive Navigation: Navigator engages; makes suggestions
- Evaluate: Did pairing work? Learn, don't repeat what failed
Anti-Patterns
- Driver ignores navigator; defeats purpose
- Not switching; one person checked out
- Pairs too long without break; exhausting
- Pairing on trivial tasks; not worth the overhead
- Not pairing on complex decisions; where pairing shines
- Communication breakdown; silent pairing is bad pairing
Further Reading
- Pair Programming Illuminated (Williams, Kessler)
- Kent Beck on pair programming
- Remote pairing guides (VS Code Live Share)