Roles
In pair programming, each person takes a turn assuming one of these roles:
- Driver: Responsible for the coding work, such as typing, moving the mouse, and so on.
- Navigator: Responsible for reviewing the driver's work, looking at the code from a strategic level and continuously posing questions, such as:
How will this fit with the rest of the code?
Will this implementation require changes elsewhere?
Could we design this program better?
Are there any accidental mistakes?
Caution
If you are in a position of power, authority, or seniority, it's on you to make sure your pair enjoys a good experience when pairing with you. Avoid using your power to impose decisions or making your pair feel uncomfortable while pairing with you.