|
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. |
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.