This document is meant to describe guidelines for how we communicate with each other. It will describe the tools we use as well as how we use those tools. It will also give suggestions on best practices when communicating with others on the team. This is and will always be a work in progress, we will update it periodically as we use new tools and based on what we learn.
Use asynchronous communication over real-time by default.
People’s speed of responsiveness is not a measure of their individual performance.
It is a core goal as a company that in general people have frequent long stretches of uninterrupted time at work.
Our most important conversations happen in Twist, it’s the only place where we assume everyone will have read over the course of a few days.
As a remote company, the way we communicate is different than it would be if we were all in an office. We don’t run into each other in the hallway or meet by the water cooler. When we do need something it’s hard to know if a person is busy or on a call. This is becoming more common and we’re part of a growing number of companies grappling with this issue. Getting interrupted while focusing on something has a heavy cost. That gets multiplied for example when a whole Slack channel gets interrupted. We’re trying to find a way to balance that with the cost of lack of communication, we don’t want people losing focus, but we also need to keep the lines of communication open.

In order to talk about communication we first must look at the tools we use to communicate. Each tool has its advantages and disadvantages and how we use them is has a big impact.
Slack is currently the most popular way in which we communicate. It also has the most potential to be disruptive. It’s great for short conversations with a limited group of people, but makes asynchronous conversations very hard to manage.

Twist works well in conversations that require multiple people and will go more in depth. Separating conversations into their own topic allows it to take place without interfering with other conversations and make it easy to add other people if needed. However for quick questions or short discussion it can feel like there’s too much overhead to use it.

Terrible for real time communication and not ideal for conversations with multiple people, but good for things that are only for one person and don’t need an immediate response.

Meet Used for video calling multiple people. Most of our daily/weekly team calls use Meet.

Engineering ticket system. Leaving comments and tagging people can be used to communicate with something working on the ticket.

Not frequently used, but phone/text messages can be used to get in touch with people if the matter is urgent.

Fax Not even once.
There are two important things to consider when communicating with team members:
We’ll look at those one at a time.
Before you reach out to someone – using any of the tools, you should consider if it’s likely to be disrupting them. Each tool has different potential to do that, for example an email can be sent and read at any time, while a Slack DM will likely require the person to shift attention right away.
Here are some guidelines:
The downside to minimizing disruptions is that it can often mean not getting input from all the relevant people. For example, if you DM someone it doesn’t give other team members a chance to be involved in a conversation. Even when there is a conversation in a public channel, it can create pressure on some team members to respond now or lose the chance to give their input.
Here are some guidelines to avoid that:
Did you get all that? Want to work with us even though we don’t use Fax?