I have spent most of my career doing pair programming and I currently teach people how to do pair programming. For me, it’s probably the best method of creating code, but it’s not for everyone. It requires a fair amount of empathy and social understanding.
The biggest advantages of pairing are:
- You have another set of eyes to help you solve the story that you are working on
- Onboarding tends to be faster
- If you are doing pair swapping, it removes silos and allows all engineers on a team to understand the entire code base since they have all worked in every part of it
- Done properly, it removes the need for pull requests and, mixed with TDD, allows for trunk-based development
- Results in faster cycle time for stories and higher code quality


















