I absolutely loathe when someone is looking over my shoulder. Additionally, the software for pairing is so good and being able to be help and annotate while the main "driver" can focus on solving the problem is immensely fruitful and I would argue objectively more engaging and helpful if you can highlight and demonstrate directly what it is you're communicating.
I work remote and wouldn't have it any other way, but I'll admit there are culture things I miss since I really love my team. As an employee? My employer gets way more value from me without the bullshit of going to an office.
I dislike it in general, I want to work on my own terms and I have to interrupt my way of thinking constantly because now I have to communicate my ideas to some other person.
Sometimes I like to work in the middle of the night, sometimes early in the morning. Having another person to code with me is just a blockade.
In my opinion, the openings to pair are harder to find when remote.
In person, it's usually easy to see when a junior is struggling, and pull up a chair. That same junior, in a remote environment, might not proactively ask for help. And me sending a slack message to them asking how they're doing might get a "all good" even when they are not. And sending a huddle request to them because I suspect they're struggling is just a VERY different thing than looking over at them to read their body language, or swinging my their desk to check in.
Maybe some would say that it's on that junior to know they need to ask for help. Sure, great. That does nothing to resolve the reality of this very real situation. Of course part of coaching this junior (in person or remote) would be encouraging them to be more proactive about asking for help, but if you have fewer opportunities to offer help and coaching in the first place, their growth is slower. Significantly slower in my opinion.
This is a hard difference to convey to someone who has never experienced a good in-person culture. But I know I would not be where I am if I had spent the first decade of my career working remotely.
What is your setup when pairing remotely? (Full disclosure I am building an OSS app for this purpose and just want to learn what is working for people)
Our team uses IntelliJ so we use Code with Me with Slack for AV. Specifically on Slack we have channels called pairing-room-1, pairing-room-2, etc. Allows colleagues to drop in and out.
I would try Tuple but to be honest we are fine on Code with Me.
Indeed Tuple is a great product. The goal is to match their quality and make it the OSS alternative, it's still early though, and I am trying to get some feedback.
I'm surprised at this statement. My team pair a lot - at least half of the time - and the majority is remote.
We find it much more comfortable to pair remotely on our own setups than crowded around a single desk and keyboard.
I wonder why our experiences are so different.