From ExperiencedDevs subreddit, this topic is about different strategies for effective collaboration for software developers. How do things change when some folks are remote and some are in-person?
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, we're going to experience devs this morning. This topic is on collaboration with uh in office and remote folks and we haven't talked about this in a while on this channel. So um I yes I have talked about it but it's been I feel like actually quite a while and um I think it's a really relevant topic for a lot of us. So, uh, friendly reminder, if you want questions answered, leave them below in the comments or go to code.com. You can submit questions anonymously that way. So, for this topic, a little bit of background for me, uh, most of my career uh, it's it's at some point soon, it's not going to be most of my career, but uh, prior to Microsoft, which is most of my career was um, primarily just working in office, right?
uh everyone was collaborating in a small open space and then uh really the only thing that kind of changed that way while I was at that company was we ended up getting a a satellite office but it was in the same time zone. It was a city that was a few hours away. So nothing crazy, right? like in terms of remoteness, that was the first time we started to have, you know, employees that were remote from us, but they were still like a satellite office, right? So, they were still employees going to an office there. And I'm going to talk about some interesting dynamics, at least from my perspective, that way, but we didn't really have remote employees, like people working from home, uh, that kind of thing. I think periodically over the 8 years that I was there, we had the odd person doing this.
And um we weren't necessarily against it. It was just that uh for those of you that aren't familiar, like this was a a startup that grew into a small company. And um with this kind of thing, like like what policies do we have in place, right? We basically start with none. We have to figure it out. So, um, just trying to be kind of careful about not opening the floodgates and getting ourselves into a position where we're like we don't really know what's going on. So, for more call it extreme is too much of a extreme is too extreme of a word, but for for situations where it was situational. Uh, it's early. Uh, we would have conversations and figure out like if there's an opportunity for employee to do that like could we could we see if we can make it work. And so there was a little bit of that, but uh not certainly not like, hey, the dev team's remote.
And I had left like literally right around the start of the of the shutdown that we had a couple years ago and that would have been uh interestingly the first time that like everything went fully remote, right? So I didn't experience that at that company. But when I came to Microsoft, uh I was like again during uh the lockdown I was working remote. I was working remote from Canada. My team was primarily in Seattle, which is where I am now. So I was working remote. I had employees for the first time that were fully remote, right? Some of them were, you know, used to going into the office and now couldn't. Others I had employees that were in Mexico. So this is my first time having employees in a different country. And then we had uh our counterparts in Su Xiao, China. So we work on the same team, but they're not like my direct reports.
They have their own management structure, but like effectively, you know, in terms of coordinating priorities and stuff, I would work with their manager. Um and we kind of co-lead across different geographies. Uh so kind of interesting, right? So that was a big shift. >> >> And um I think I because I had experienced a lit a little bit of the remote office issue or challenges from the previous company. There's a handful of things that I kept in mind where I was like I just remember these being like pretty terrible experience for the other folks. And one of them in particular is around like meetings where if you have a like a call it like the the hub, right? And the hub can kind of change depending on the meeting situation. But generally if your hub is like your main office, if you have like another conference room of people dialing in from a smaller hub, um what seemed to be the case is like the larger room would kind of drive the conversation.
And the side effect of that is like there'd be side conversations in the, you know, the bigger room. It would be like easier for people to interject and interrupt in the big room. So it it almost made it seem like people that were in the remote office, you know, remote from the main hub, uh really didn't get a good opportunity to jump in and speak. And I think there's a handful of reasons for this. And one of which is of course just with technology and the way that people were able to kind of just speak in the main room and not like unmute themselves to speak and you didn't have to put your hand up like virtually to speak. You could just start making noise and if you were loud enough or whatever, you could just start speaking, right? And take the conversation. So there's that kind of dynamic going on.
But I think the other thing is like comfort level and personality types. At our main office, we had people that had been working there for a while, right? They're they're talking about topics that, you know, they're working with people that they've known and worked with for a while. They're talking about topics that they're, you know, subject matter experts on. And then you have these newer employees, and it's not like they weren't really smart. They weren't hardworking or anything like that. It's just that they're newer and probably finding their voice is a little bit trickier like on average. So I think there's some of this dynamic going on where for people to be comfortable speaking up anyway would have been a little bit uh a little bit more tricky. So, with some of these things going on, like I tried to make it a huge point in meetings to monitor like people's hands going up, right?
So, really tried to model this behavior where it's like if you want to speak, try not to just like unmute and jump in regardless of like where you are. Um, and that would mean that if you're in uh a core meeting room, and by the way, it's it was kind of tricky to be in a core meeting room for the first little bit because for I don't know, I don't know how long it's been, but there was like a couple of years or at least over a year where things were still locked down. So, there wasn't like a core meeting room I was going to. But, um, sorry, I got to move over for that guy. Um, by the time that was a thing, it was like, you know, even if you're in the core meeting room, um, if you see, like, if you want to interject to say something, try to make a habit of looking who's got their hand up already online, right?
If someone's got their hand up, you shut your mouth and you actually call upon them if anything. Cuz if you're like, I have this opportunity to speak up because I can jump in in the room right now. instead of doing that, like who's got their hand up already? Because that should be their opportunity to jump in if they were physically there with you. So really like kind of what's a good way to say this? Almost like uh making everyone play by the same rules. You're not putting up a virtual hand if you're sitting in the room, but if you're like this is my opportunity where I can jump in, like don't be an someone else has been waiting with their hand up and make it a habit to call on them. And I think what's cool is like I I've never seen that like written down.
I've never seen someone who's like, "Oh, you've seen the meeting etiquette rules at Microsoft, right? Like that you have to go do like that. I don't I don't think that exists anywhere." But I notice other people do this a lot. And so, uh I think getting in the habit of doing that is uh is very helpful. I also think that we've had now a few years of this kind of thing to live it out. Um I don't know if maybe for some folks they went back to like air quotes like normal where it was like if you weren't working remote before things were shut down. you're not working remote shortly after and you kind of weren't uh I don't know like forced into living this way and experience or living this way like working this way both right living and working um so so maybe
you didn't practice this as much which is totally fine but um that is one practice for sure that I think helps um I did a scan of the comments I've seen some people saying like you know for collaboration like cameras on. I'm torn on this. Um, like, do I think that cameras on helps with like connecting with people? I 100% do. I 100% do. I think that there's a lot to be said about um, you know, if you're if you're on a call and you don't even say anything and you're not on camera, it's like really hard to like to feel connected with someone and and it's hard to collaborate. if you're at least unmuting and speaking and joining the conversation. Okay. Uh but we don't get, you know, facial expressions, body languages kind of thing. So, if you're on video, it really helps with that.
Um there's probably some psychology things in there that I don't understand about being able to see faces and connect. Um but even, you know, the reality is even on video, like we don't get full body language. So I I strongly believe the more of these signals for communication that we have the better the communication can be like the more effective it can be. Um when I talk to employees about this kind of thing like body language and and communication and all that. Uh I I always like giving them the example where I'm talking to them the same way and then I'll say things like but you can't tell right now like that I'm I I'm shaking my legs and fidgeting like if you were to watch me from the side I would look very nervous but I'm like you can't tell that at all on
this call right because I'm you know from whatever my my shoulders up remaining very composed and haven't changed my voice but I'm like we miss these signals right so being in person can help with that kind of stuff. But so I I think cameras on can help a lot, but uh at the same time I would not um I wouldn't force people to do that. That's where like I draw the line, right? So personally, I'm not saying it's wrong if you have that as like a company culture thing, but uh I I wouldn't force people to do it. I would just I encourage it cuz I think that it's nice. Uh, and when I say I encourage it, I legitimately don't go out of my way to tell people that either, right? So, that's what I mean. Like, I don't even I feel uncomfortable suggesting it to people because that's not for me.
I don't feel like that's for me to say. This is like a personal thing. I don't think that's I don't think I get that right where I'm like, I need to see your face turn on your camera. Um, and I I just think that that's for me that's kind of crossing a line that I don't think that is my my right. Uh, but do do I appreciate it when cameras on and people are talking? I certainly do. There's sometimes I'll join meetings and like uh I plan to observe more or I plan to to listen, right? Cuz it's more informational for me. And if I notice a lot of people are turning cameras on, sometimes I'll just do it because then I'm like, "Hey, like I feel more connected, more present with people." But I think that's something that can help. Um, I do think that if you're doing team celebrations and stuff, having a virtual component's huge.
Um, I don't think that it's fair if you have like people that are in person to be like, "Well, we can't like you're not allowed to have morale events or anything like that because then we can't for the remote employees." I'm like, I I personally don't think it's fair for people to be um what's a good way to I don't know if I have the right words to say this yet, and I don't want it to sound um off-putting, but I don't So, bear with me. Sorry. I don't think that it's fair to have um people that are in the office forego an opportunity like a morale event or like doing something in person or whatever. I don't think it's fair that if they can that they're not allowed to or we don't do it just because remote employees can't physically be present for it because then like why why is anyone in person like based on that logic like it's oh it's an unfair advantage or something or it's just unfair in general.
Okay, then don't have anything in person. Force everyone to be remote because at what point do you start drawing the line to say well like this part's okay but like doing something like fun is not like I don't I don't buy it. So um if you are doing something in person, I would just like literally go through the mental thought the process of like well what does that mean for the remote employees? If I was a remote employee like so like I said I have some employees in Mexico. I have an employee in Costa Rica. I had an employee uh in Brazil. If we're doing a team event and they can't be present for that, what if I'm one of those employees? what's going through my mind? How do I make this better? There's sometimes where we would have like a a virtual dialin. So depending on what the event is, we would set up like a team's call and then people can see the room where people are.
Uh you know there's opportunities where like they can literally speak so it truly is like virtual. Um, sometimes like I've did this for someone had a retirement party recently, one of my my previous employees and they had a virtual component and you know the reality is that person is you know more more speaking with people in the room for the majority of the time but like they were telling stories and stuff like that. The virtual people could listen to that. Uh there was a part where he went over to you know the people that were on the call and you know they were unmuting and and you know kind of telling their stories and you know wishing him farewell kind of thing. So like I feel like that's a pretty relatively loweffort way to get people involved in that situation. They could so like do that.
Um there's other things where it's like, you know, if the team's going bowling or something for a morale event, it's pretty difficult to like invite people that way, but one of the there's a you know, there's a handful of benefits to a morale event, but even if you're you know, kind of thanking the remote employees in different ways, right? like uh you know you can't come bowling but here's I'm just making this up off the top of my head like here's Uber Eats vouchers so like hey you know you can kind of celebrate with us but we want to make sure that you're recognized still like it's not the same but you're not excluding people entirely and I think finding creative ways through that is helpful um on the more like technical side of things in terms of like developing software Uh I the the
one like major thing that I've said in previous videos on this topic is like when people are remote and especially if people are newer to a team and especially if they're more junior uh all of these things kind of stack up um you know especially if uh English isn't their first language right like all of these things um being proactive with reaching out for help is really really really really challenging and um like one of the most beneficial things at the same time, which from my experience means a lot of people struggle with being remote first if they're not super comfortable reaching out for help. And um what I've said on previous videos is like it almost doesn't matter how much you say, "Hey, reach out anytime you need help." doesn't matter. You could say it a million times.
People uh will kind of develop this this feeling of like ah yeah like I know you say that but like I don't want to disturb you or I don't want to bother the principal engineers on the team. I say this as someone who's like lived it for 5 years across different teams and uh I don't know like I don't have like stats across like hundreds of employees or something like that but my my lived experiences so far suggest to me that this is a very difficult thing for people to do and words aren't really enough. So, what I would recommend to folks is like when you have new employees that are remote, if they're not being proactive, because some of them absolutely are, and it's great. I find that that's quite rare though. If they're not doing that, like you reach out to them and like make a habit of doing it.
Go out of your way, reach out to them, check in with them quite regularly. if uh if you're in a more you know you're a manager or whatever and you have people that are sort of like the onboarding buddy or whatever it happens to be and they're more responsible for for that kind of interaction get them to reach out right if you're the manager and you have someone doing this both of you do it like go out of your way demonstrate like it's okay to reach out to me anytime I'm going to prove that to you by reaching out to you I'm going to check in with you regularly not to not to be like, "Hey, tell me what you're doing." Not that. That's quite the opposite, but checking in like, you know, light conversation. Hey, do you need help with anything? Like, did you get stuck on this?
Or like, I know we were talking about finding the docks for this yesterday. Did you find them okay? Or did you get things building? Like, pay attention and give a and um go out of your way to do that. And I think that that so far has been one of the things that I I think really helps. The sort of evidence I have behind that is that when people have what I would call a good proactive onboarding buddy, they start to they start to really get it. Um, I've still had people that I know the onboarding buddy has been really good and um, if they're if they're not willing to like reach out and ask for help still and they can't quite get that, then they start to fall behind because they get stuck and then they won't unblock. So, just please pay attention to that.
I think that's uh, you know, one of the most important things for for getting new people on a team that are remote. uh code reviews and stuff like again we lose a lot when we're um I was talking about communication earlier written communication is one of the worst for for losing all these other signals when we're communicating what's a code review it's all written communication right um works quite well if you are comfortable and familiar with the people on your team you know their style of like when they're saying things in writing what that means what their tone is probably like and I've made jokes about this before like I don't, you know, I code brand ghost outside of work. We don't review each other's code. If I were to, I could, you know, literally read something that someone else in our team wrote and be like, "Hey, dude, this is code.
Like, what were you thinking?" And they would know that I'm not actually mad, that I'm probably exaggerating in my language. And they'd probably be like, "Yeah, it is garbage. Whatever." But like, hey, it's working and whatever. We're all aligned on it. Cool. No worries. But at work um like it doesn't doesn't fly that way. So I I I think the big difference there is like I've worked with these guys for like uh one one of them at least I think maybe both over 10 years. So we know each other. We know how we communicate. And if you're newer to a team or the team itself is more um new in general. having clear communication like that is not as common. So, you really have to work on it.
And so, I would say like when it's remote, you know, my standard feedback or commentary around more effective code reviews is like if you're if you start going back and forth in comments, like message the person and be like, "Hey, we should get on a call just to chat through this." Um, I see this I see this expedite problem solving dramatically faster than comment wars. Um, and then the other thing I wanted to quickly mention cuz I'm at CrossFit here is um, people staying blocked on code reviews for too long. Like it gets insane. People have like code reviews open for weeks. Like no, find ways where it's part of your team culture to get them done quickly.
I understand that there's iterations like and those take time, but if people aren't responding to things, like figure out what's most effective in your team culture to get people unblocked because you can't just poke someone at their desk as you're walking by to be like, "Hey man, like review my code." So, something to think about. I'm going to go lift some weights. See you folks later.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- How can meetings be managed to ensure remote participants have equal opportunities to contribute?
- I make it a huge point in meetings to monitor people's hands going up and model the behavior of calling on those who have their hand raised before speaking. This helps prevent people in the main office from dominating the conversation and ensures remote participants get a chance to speak. It's about making everyone play by the same rules regardless of location.
- What is your approach to encouraging remote employees to reach out for help during onboarding?
- I recommend proactively reaching out to new remote employees regularly to check in with them and offer help, rather than waiting for them to initiate contact. I also encourage managers and onboarding buddies to do the same to demonstrate that it's okay to ask for help. This proactive approach helps prevent remote employees from getting stuck and falling behind.
- How do you handle code reviews effectively in a remote work environment?
- I suggest that when code review comments start going back and forth, it's better to message the person and get on a call to chat through the issues, which expedites problem-solving. Also, it's important to develop a team culture that prioritizes completing code reviews quickly to avoid people staying blocked for weeks. Since you can't just poke someone at their desk remotely, finding effective communication methods is key.