3 ms·
> I often do/did paired programming, and over-the-shoulder code reviews. These are easier in person I work 100% remote and recently have been mentoring a recen
by Buttons840 5y ago
> I often do/did paired programming, and over-the-shoulder code reviews. These are easier in person
I work 100% remote and recently have been mentoring a recent CS graduate and doing pair programming with him. Let me describe how we do it and then I'd like to hear how you think things are better in person.
We start a Slack voice call, these work reliably. Some coworkers told me the longest Slack call they have maintained was over 12 hours long, with people coming and going throughout the conversation.
After starting the voice call, I share my screen. I show him what I'm working on in IntelliJ and we talk about it. Then I use a new IntelliJ feature called code-with-me and send him a link, he clicks on it and and he is then able to edit any file in my IDE on his IDE on his computer. I'm still sharing my screen, but he might not look at it, after all, he can see and edit any part of the code on his own computer now. He can share his screen at any time if needed with 2 clicks.
I direct the conversation, but look for tasks I can pair off. There's a service I need an interface too, so I ask him to work on it. He starts reading documentation about it on his own computer with multiple large monitors. He then begins writing an interface to the service. I flip tabs over to the source file he's working on and can see where his cursor is and what he's typing in real time. I give advice, I just type out what I mean instead of trying to describe what I want him to do in the code with verbal words. This is all like Google Docs, we can bring in even more people and have 5 or 6 cursors all over the project just working independently. Everyone at their own desk where they're fully productive.
This is a real story. He finished the interface to the service, and it worked well. I still don't know all the details of what he wrote, I never had to be distracted by it, but his code has worked so far, so my trust was well placed. The whole experience was so smooth. We could sync up and talk about a single bit of code and then return to our own work, the context switching took literally seconds. I'd just say, "hey, look at this", he'd click a tab in his editor and then see what I was doing, we chat about it for 30 seconds, then he makes a 2nd click and is back to his own work. We pair programmed like this for about 3 hours. Sometimes we'd go 15 minutes without saying anything, but we were working towards the same goal, and interruptions to talk about the goal weren't distracting. I could never endure watching over someones shoulder for 3 hours.
We were maintaining a call / audio channel the entire time, I even muttered some things under my breath (just thinking out loud) and he was able to hear. I think it's the only time I've been happy and productive with pair programming.
- swader999 5y agoThat's a nice picture of what it can be like. VR might take this kind of thing to a whole new level. Check out Imersed: https://www.oculus.com/experiences/quest/2849273531812512/ https://www.oculus.com/experiences/quest/2849273531812512/