I think it depends on what your team’s goals are for pair programming. If you’re using it to just ‘complete a task,’ then yes, I think it’s likely to be counterproductive.
The better benefits tend to be
- Knowledge and practice sharing across the team
- Highlighting and aligning mental models about a project and it’s associated code
- Providing coaching/mentorship opportunities between people with different experiences and strengths (not necessarily between just senior and junior devs).
And, as with any activity, the more explicit you can be beforehand about why you’re doing it and what the expected goals/outcomes are, the more likely it is that you will find pair programming useful when it’s appropriate and recognize when it’s not.
A lot fewer than I used to be! Subscriptions == notifications, and I’ve been really focused on rooting out unnecessary notifications everywhere I can. At one point, the number was in the several hundreds before I realized just how ridiculous it was to believe I could keep up with that much video content.