Knowing when it’s a good time to interrupt a colleague is a challenge in remote work:
To paint a better picture, my colleague and I are two engineers not only building a product, but doing it with 9 time zones and the atlantic ocean between us.
If we shared an office, it’d be easy to know whether a colleague is actually available or deeply engaged in some activity: just look over or peek in their office. Being a remote company, we needed another way to make that work. I know that we’re not alone in this quest, because researchers have been trying to figure this out too (pdf)!
The problem with our existing tools
We use Slack for chatting by text, but that leaves us 'tone deaf' about the other person’s current engagement in a task, and there's a tendency to lose productivity to context switching when a colleague asks a complex question (such as “what do you think about this algorithm?”). We tried “always on” video with Google Hangouts, but having live video was big a distraction.
We used Skype to discuss big issues, but with a high overhead to setting up calls, we tended to avoid it and stuck to communicating by text. It was easy to overestimate the time needed for a call, and when you’re done discussing the issue 2 minutes in the call, what do you do? You end up saying things like “while we’re at it!”, and grouping as many topics together to minimize the overhead of the call. Make no mistake, Skype has been an essential tool for us when longer meetings needed to happen: there is simply no way to discuss a 3-month plan in 10 minutes!
Enter Push-to-talk, not just for video gamers
Then came our push-to-talk experiment after reading an interesting post:
It feels a bit like an office environment, I can pop into Jay's office, talk to him about an issue, and go back to my office. I recommend people set up Push To Talk, which really helps create a silent non-annoying environment.
For those not familiar with push-to-talk, it’s like a walkie-talkie system for your desktop -- a group of people can share a “channel” and while you press the “talk key” on your keyboard (which you can use even when in another window), others in the channel can hear you talk. Unlike Skype, you only hear people while they press the “talk key” and it’s audio only, making it natural to leave open in the background while you work.
Push-to-talk has largely been used by video gaming communities (where players debate between using Teamspeak, Ventrilo, or Mumble as the best push-to-talk solutions), but could it actually work in a professional “get work done” environment? We set up our own Mumble server to find out, and our answer was a resounding yes.
It was an instant success for us in creating an “in the office” atmosphere. It didn’t replace our existing tools, but instead found its place between them, like a WD-40 for casual conversations in our remote team. We could fluidly move in and out of conversations, tossing in a quick joke or question without breaking our concentration. It took the mystery out of availability. For us, it was an overnight change in how we worked together.
How we made push-to-talk work for us
After months of adopting it into our work-style, we have a set of recommendations for others that want to achieve same atmosphere:
1. Define a set of hours that you’re “in office”.
For us, we have a nine hour difference to overcome. To make that work, I’m “in the office” from 7am to 11am in California, giving me a 4 hour of daily overlap time with my co-founder in Italy (where it’s 4pm to 8pm). My colleague knows that he can expect me to show up at the same times Monday through Friday, and just like if we were in the office, we can quickly resolve problems then.
At the end of the day when we sign off, there’s a strong sense of “leaving the office” because we no longer expect each other to have their headset ready to respond and no longer expect the other person to “drop in”. We are guilty of always being “somewhat available” through Slack (except when we’re sleeping!), but that has probably more to do with being a startup than it is about being a remote company.
2. Use your chat channel to reflect your expected interruptibility.
We use different rooms to communicate our availability. When we’re in “The office” (our primary hangout channel), we treat each other as if we’re in the same room and freely share jokes, ask quick questions, or even just share our frustration on what we’re working on. If we need to focus on a topic, we create a new room like “critical sys-admin” or “in meeting” to let others know that we’re busy, or “water cooler” if we’re taking a break. While the rooms are purely conceptual and not physical spaces, they’ve been an effective mental tool to maintain the atmosphere of “being in the office”. We even have a "kids" channel for when my co-founder's parenting duties call. Luckily for him, most of the time that channel is empty, but sometimes... he needs to run.
3. Treat your co-worker as if they were in the same room.
Having a co-worker who’s passionate and dedicated toward the same cause is a boon to productivity and positive atmosphere. Jeff Atwood shares similar feelings about working remotely:
the minimum bar to work remotely is to find someone who loves code as much as you do. It's … enough. Anything else on top of that [...] is icing that makes working together all the sweeter.
On working remotely
This is an important one for us. With text-based chat, even with all of the meme-infused ranting about code, stack traces pasted, blog articles shared, and lengthy conversations about architecture, there are times when it's hard to feel the good vibe with all that land, water, and air between us. When we made the move to push-to-talk, however, now our bursts of excitement carried some weight and filled the atmosphere. Our mood and intentions come across much more clearly when spoken, and we have a better sense of each other’s presence. There’s also something unique and lively about a spontaneous “Howdy!” to kick off the day that connects us better than chat.
While there’s a line between being friendly and chatting a person’s ear off, there’s value in being vocal when you’re stuck and someone else can help, or even just sharing victories together when conquering that impossible bug. Nothing beats a virtual high 5!
4. Have content prepared if you want quick feedback, but ask permission first.
Often times, we’ll need to consult each other if we need another opinion on an algorithm, UI design, or a screenshot of a bug. Rather than try to explain something, we optimize each others’ time by instead preparing a quick draft, and sharing it with each other when we’re available. However, before seeking help with a problem, or before asking for a sanity check on our work, we’ll do a verbal check if the other person has a moment (in our experience, sharing a problem without checking availability first leads to lost productivity for the other person; the urge to change gears will be too great when a problem is presented).
When we've got each other's attention, we'll share a sketch just as we would on a physical whiteboard (had we shared an office):
Many design sessions get started this way and we’ll move on from push-to-talk to Skype if the conversation gets very involved. Overall, the combination of push-to-talk and a whiteboard that the other person can drop in to has created a fluid environment where we’re more likely to address problems on the spot.
We still use Skype and we still use text chat, but now we also use push-to-talk. It created the “office environment” that we were missing. It didn’t solve all of our workday problems, but now when I start my day, I feel immersed in a shared office atmosphere and I have a sense of my teammate’s interruptibility by hearing about what they’re engaged in. We’re only two people, but this setting could scale well up for groups several times our size (it’s worked for other teams).
Push-to-talk has fostered an “open door policy” in our group. It may not apply to everyone, some may prefer pure text chat or some may even prefer always video (for us this was too much like an “open office” atmosphere and a bit too distracting). But, if you work closely with remote colleagues (actually solving problems and not simply having a manager delegating a task to a remote worker), we think this setup would work well for you.