Pair Programming Done Right vs. Pair Programming Done Wrong
Someone asked me to share about my experiences pair programming over the last 8 or so years — including the times it’s been successful, my thoughts about why it was successful, and the times it was a failure.
Let me talk about the successful times first.
We jump on Zoom at the scheduled time.
One of us screenshares.
We dive into the problem — first showing the bug that we’re trying to fix, then stepping through the code related to the bug, then explaining the ?! confusing part, otherwise known as EXPECTATIONS vs. REALITY.
The non-screensharing partner asks a couple of clarifying questions. Both participants come up with some ideas for ways to debug the problem. For example:
- Did you check the networking tab on Chrome to make sure we’re calling all the API endpoints that we expect?
- What response is the API returning, and is it what we expect?
- What does the documentation say the request parameters should be? Are we missing any parameters?
- Let’s put some breakpoints and console.log or print statements in the code; do the values return what we expect?
- What if we check out the last committed code before our changes; does…