Hacker News new | ask | show | jobs
by throwaway60703 944 days ago
Pair programming is terrible over Teams/Slack/Zoom.

Hours and hours of "no, click a little bit up/down/left/right, no that's too much, no that's not what I meant, I meant that, no not that" and "write a curly brace, no that's not a curly brace, hold shift and it's the key next to P, oh you don't have US keyboard, it's line 47, no that's line 57, at the end of the line, no I mean really the end of line, put it next to the variable declaration, I mean the part before = ...".

When I worked in an office, I simply sat down next to the programmer I was helping and pointed at the screen or shown them how to do it. The same thing takes 10x more time and 100x more mental effort online, and many times I just do it myself at the end of it.

And when I'm showing something on my screen, I get practically no feedback - do they understand? Are they even paying attention? I have no idea. Seems like they don't and often I notice phone screen reflection in their eyes. I don't really blame them though, I also can't hold attention over the internet. I don't think it's a problem with my teaching style - the guys I taught in person were genuinely excited about it and applied the new knowledge immediately.

The mid/junior guys in every remote team I worked in are nearly stuck in the same place for years, whereas the guys I and other senior engineers helped personally got to senior level within a year or two.

And I don't know these people. I can't talk to them at lunch about cool technologies/games/movies/music, I can't see whether they actually get excited or just politely listen because I'm senior to them. I just can't build a true friendship this way. Very unusually it works out, but it's nothing like the old days of office work where all of our 50-member office were best buddies.

2 comments

> And I don't know these people. I can't talk to them at lunch about cool technologies/games/movies/music, I can't see whether they actually get excited or just politely listen because I'm senior to them. I just can't build a true friendship this way.

This part is very difficult, and requires very intentional work to build relationships. Honestly, teams should invest as much time into this aspect as they do in things like their CI pipeline or whatever they use to track work.

Regularly scheduled team lunches - at least once a week, during which no work is expected to be done, you just sit and chat about whatever while you eat (or don't, if you feel uncomfortable eating on camera.)

My employer used something called Donut to schedule random small groups of people for the equivalent of a coffee-walk (opt-in, of course.) This worked decently to get people together who you might otherwise not meet, and learn about their interests, which may overlap with yours.

Specialty interest channels - Dungeons & Dragons, video games, movie appreciation, beer club, pet pictures, etc. Onboarding should include that these things exist, and that new hires can join them if they're interested.

Having typed all that - none of this is a replacement for in-person interactions for the majority of people. Some people are fine with getting their socialization needs online, but the majority aren't.

We tried doing this, in many different forms, but it never worked out. At first meeting, almost everyone is present, the second one a half of the team, the third one practically nobody. No matter what we do - eat food, drink tea, play games, tech talks... Nothing works.

Small groups worked only if the people already have a relationship (which is rare), I never successfully got people to consistently join small groups with people they didn't know.

During the office times, this just happened naturally as people felt like it. I don't think you can schedule fun.

Every "social event" that I have attended over video chat has been a cringey fail. As you note, for most people, that kind of stuff just can't replace in-person interaction.
So mentally draining. I had to do a multi-hour "pair programming" session last week. I'm literally telling the guy what lines to copy-and-paste. Based on the previous interactions, I can tell he doesn't understand what he's actually doing, just blindly following instructions. It would be simpler to do it myself.

I miss in-person collaboration!

Asking to take control of their screen via Zoom is something I would recommend, and leaving it on - that way, you can say "here, let me show you" and immediately start clicking and typing.

Obviously don't do this without asking and getting approval first, the same way you wouldn't just shove someone's hands off a keyboard and mouse, but this helps quite a bit with the "no, two lines up" nonsense.

Zoom also has a way to draw lines on screen - very helpful.

> Based on the previous interactions, I can tell he doesn't understand what he's actually doing, just blindly following instructions.

This part is, uh, not technologically solveable.

I think taking over the keyboard would make it worse in this case. My goal is to help him find the information himself. This hasn't been successful. He might ask "How do I start a dev server?" My response would be "Can you check the read me?" That isn't enough. I literally tell him stuff like "Okay, switch to the tab with the readme file. See where it says 'Start development server'? Keep scrolling down. Keep going. Okay. Copy the line below and paste it into your terminal." It's bad.