All of these are reviewed before commit.
The 'interrupting' while coding is the shitty part (I agree with you), not having someone working with you.
This process respects each other's time and allows each person to visit the relevant pieces without interruption. The common rebuttal to this is "Slack messages are too interrupting!" and my response is: ignore the message until you're in a good spot to address it, or if you can't spend meaningful time on it yet, just reply with an "I'll check this out later, thanks!"
The idea that we have to sit on a video call in silence while losing the ability to think and write privately is such a huge distraction. Half of my mental bandwidth is occupied with self-consciousness of being "watched", or if I have my video off, it's the idea of being present and tied down by simply being there.
As someone with ADHD, those circumstances do not mix and eliminate any possibility of being productive because it's too distracting on all fronts. Not to mention, I need intense music to really get in a flow state. You might be surprised by how many engineers feel this way because they similarly experience neurodivergent realities around this.
I cannot stand pair programming, but I don't begrudge that it might work for some.
Like, not as a rule. There are times when it would be helpful to have my trusted coworker helping to work through something. The answers aren’t all obvious and we don’t know exactly how it’s going to go. We’ll feel it out as we go. He has better instincts for some stuff and I have better ones for others. We’ll get there better and faster pairing.
But most of the time we have our own stuff to do and have our respective things well in hand. Then there’s no reason to force a pair programming situation.