Anyone has experience with using pair programming effectively

Counterpoint: I have found that too often people will not accept CR criticism unless it’s something trivial, usually actually addressed in official guidelines. If you actually bring up something tough like separation of concerns, they will not actually consider feedback and insist their solution is adequate, or even better, without even bothering to offer very good reasons. Even if you offer very concrete advice like pointing out that recursion could solve a problem in a much more elegant and clear way, you can get responses like “I tried that and it didn’t work” and you are forced to approve often significantly suboptimal code unless you literally implement it for them. I’ve noticed this is a lot worse in 100% remote orgs, and is one aspect I definitely think is detrimental vs. being able to establish regular face to face communication with someone. Admittedly, remote pairing doesn’t fully solve that problem, especially if it’s infrequent, and it’s obviously also related to culture and personality etc, but it’s definitely a pattern I’ve noticed. Pairing can build both the rapport and shared ownership necessary to avoid the siloing that can result when this sort of thing gets out of hand.

2 Likes