On distributed teams and (not) being remote

In the past month or so, two of the awesome people on my team both blogged some of their perspectives on working remotely. If you haven't seen their posts already, check out Avleen's on the case for distributed teams, as well as Jon's 3 year retrospective on remote working. It's made me think quite a bit about distributed teams in general and what it's like being one of a few local people on a mostly remote team.

I knew the Etsy ops team had some remote people before I started, but I didn't realize just how distributed it was until I got into the office and saw for myself - I was a little bit sad that I wouldn't get to see all my new teammates in person all day every day! As noted in Jon and Avleen's posts, Etsy has come a long way in making sure that remote workers are just as much a part of their teams as those of us in the office. It took a bit of getting used to for me, both in terms of just adjusting to a new job and a new way of doing things, and getting over some not-so-great remote experiences I'd had previously. Over the last several months, however, I've come to really appreciate everything that the remote-friendliness has brought to the culture, even from my local cat-picture-covered desk in Dumbo.

More effective and deliberate communication is huge. As Avleen said, the idea is to communicate as remote, even if you're right next to each other. There are some obvious benefits to this aside from being more visible to everyone - with the majority of communication being done by IRC or email, it's a lot easier to go back and search for something, whether it be a detail of some issue that you forgot or a link to some awesome new metal band you want to check out later. Similar to rubber duck debugging I've also discovered the joys of IRC debugging, where the process of typing out a question ends up pointing you to the answer before you've even hit send.

It's also forced me to get better about speaking up instead of staying quiet. I've seen blameful cultures where any wrong answer or less than perfect suggestion is met with ridicule and derision, which can be exacerbated by having a searchable written record of it. If a culture like this persists for too long, you can find yourself in a position where it's hard to get answers to any questions at all because people are too afraid of saying something wrong. I don't know if having teams be distributed has any effect on this kind of thing, but a remote setting can really bring into focus the kind of culture (and if it's blameful or blameless) you have. If you have a culture where people heckle each other a lot, even if it's "all in good fun" (though over the years I've started to question how much of this is actually good-natured and how much is people being condescending and hiding it behind a "joke"), that might not translate well to a distributed team - it's still hard to convey and interpret tone over the internet, and even more so when you haven't spent much time getting to know your teammates in person.

And so I've begun to recover from some less-than-blameless past experiences and started speaking up more - of course, I have said some things that were incorrect, as everyone does, but here, nobody is an asshole about it. (Hiring pro-tip: Don't hire assholes.) When people do call each other out at all, it's done as recognition. Since not everyone is in the same physical space, by default there isn't the same dynamic of "hey, look at this thing on my screen really quick" and "oh, nice, high five". That sort of spontaneous recognition has to be made deliberate instead, like the rest of our communication. There ends up being a lot of this highlighting of the good - people calling attention to the cool things they (or other people) have been working on, and peoples' responses to that. Not only does it communicate important information about things that are happening on your own team or others, but it builds camaraderie as well. I can't recall having ever seen anyone say "Hey, that was a stupid wrong thing you just said, you stupidhead" (at least not in any channels I've been in) at Etsy. Instead there's a lot of accolades going around and plusses (our irccat-driven point system) being awarded and people being helpful instead of condescending. It really makes for a culture where it's not only okay to take chances and speak up, it's encouraged.

Another benefit for me has been a kind of forced confidence in my own judgement. When everyone is in the same office, it can become easy to rely on someone else being there to look over your shoulder as you run a scary command across the entire infrastructure or just to bounce ideas off of. When people are remote (and sometimes in different timezones), you might find yourself in a position where you have to be your own second pair of eyes or else not get something done in a timely manner. I have yet to run something by a colleague and have their response be "no, that's completely wrong, you would have caught the whole site on fire if you'd done that, are you stupid?" or anything remotely close to that. And so as my familiarity with the team, processes, and infrastructure has grown, I find myself less often waiting for someone to respond to an IM before doing something, and instead trusting that I'm not an impostor and can do it myself.  Not that there isn't a benefit to getting second opinions sometimes, but unless you're very junior you probably don't need to be double-checking every single thing you do with someone else.

I think the key to a good team setup is balance. While some positions might necessitate being in a specific location (data center technicians, for example, need to be relatively close to the data center), it doesn't really make sense to require everyone to physically be in the same office if there aren't logistical concerns like that. Not everyone likes or is cut out for remote work, and it's good to take that into consideration as well. While I do have a "home office" that I work from occasionally, the majority of the time I prefer to be in the office, and not just because of the adorable office dogs - I just find that I get more done that way. If you wouldn't force all your employees to be local, you shouldn't expect them all to be remote either. Making a team productive as a whole requires the people on it to be individually productive, and then making it easy for those individuals to work together. This will require some investment - ergonomics for homes as well as main offices, travel so that remote employees do get face time regularly, and a good video conferencing setup are all important for making distributed teams work.

Not only are there benefits for individual employees by allowing them to work wherever is best for them, allowing for remote workers allows access to a bigger pool of candidates. Like many people I would argue that there isn't a talent shortage in tech, but rather too many companies who insist that all their employees be willing and able to live in places like NY or SF. It's time for companies and hiring managers to take a good look at their cultures and job requirements. What things are actually required to do a particular job well? Do they really need to be in the office? Do they really need to know newshinything.js? I'm guessing most positions would be better filled by someone who is truly a good communicator and is willing to learn than by some "rockstar" who can afford to live in SF but is kind of a jerk. It's easier to teach someone a particular skill or technology, especially in a learning organization, than it is to teach assholes not to be assholes. Reevaluate your requirements and your culture, and you might end up with some awesomely distributed teams as a result.