Part 4: Best Practices and Pitfalls
The Argument That Taught Me Everything
Communication Best Practices
1. Think Out Loud
// Driver types in silence for 10 minutes
export async function processPayment(orderId: string) {
const order = await getOrder(orderId);
const amount = calculateTotal(order);
const payment = await stripe.charges.create({
amount: amount * 100,
currency: 'usd',
source: order.paymentToken
});
return payment;
}
// Navigator has no idea what's happening
// Misses the bug (amount * 100 should handle cents already)2. Ask Questions, Not Commands
3. Celebrate Small Wins
4. Regular Check-ins
Role Switching Best Practices
When to Switch
How to Switch Smoothly
Handling Disagreements
Framework for Resolving Conflicts
Real Disagreement Examples
Avoiding Fatigue
Time Management
Taking Breaks
Recognizing Burnout Signs
Common Pitfalls to Avoid
1. Dominating the Session
2. Not Speaking Up
3. Rushing Through Without Understanding
My Pair Programming Checklist
What's Next
Last updated