A lot of CEOs have spent the last 15 months getting used to remote work. Amir Salihefendić, the CEO of Doist, is not one of those people. He's been running a company across many time zones, in many countries, for years. And he's learned a thing or two about what it takes to do it right — and why getting it right is as much about embracing asynchronous work than it is just sending everybody home.
Doist makes Todoist, the popular to-do list app, and Twist, an app for team messaging that tries to approach the space very differently from Slack or Microsoft Teams. Salihefendić said he didn't necessarily build a remote-first, asynchronous company on purpose — he was just in Chile, trying to hire the best people he could find — but now he wouldn't have it any other way.
Salihefendić joined the Source Code podcast to discuss how "async" should work, how Doist built a messaging app that feels very different from Slack, why companies should swap meetings for documents and offices for retreats and much more.
You can listen to our full conversation on this episode of the Source Code podcast. Below are excerpts from our conversation, lightly edited for length and clarity.
As I've talked to people in recent months, there is this understanding that remote work, being at home, is a thing you can do and still get your job done. We have neatly answered that question, right? But I think the shift that people have not spent enough time figuring out is this synchronous to asynchronous thing.
I think part of it is just that people don't understand what it is and how it works. And part of it is so culturally different for companies. Just this idea that if I need something from someone who works for me, I can't expect a response to that immediately, is so anathema to most bosses, most places, that it just feels like this cultural shift is going to be so enormous. So I guess the easiest way to start is, let's just define the thing. So what's the difference, at a basic level, between synchronous and asynchronous work?
Asynchronous basically means that when you send a message, you don't expect a response right away. That's the basic concept, and it's very simple to understand. But the effects of that are quite significant, because it means that I can kind of plan my day as it fits me, and not as it fits your schedule.
For instance, for myself, I can spend time with my kids in the morning. I don't need to get to work at a specific time. If I have downtime during lunchtime, I can just … not do work and do something else to recharge. Not synchronizing time is a huge feature that people can take advantage of.
Aren't you going to immediately lose most bosses when you say, "You can't expect an immediate response"? That's the point of being a boss! You get to yell at people and make them work whenever you feel like making them work, right?
Honestly, I think that's kind of the core thing of asynchronous-by-default and also remote-first. We really need to challenge the core ways that we are working right now, and the core culture. I really think you need to change how you value work. You cannot really value, you know, "David is a great worker, because he gets there at 8 a.m. and leaves at 8 p.m." And that's how we define if you're a hard-working person.
I really think you need to kind of define work as, "What is David actually contributing with? What is David's impact?" The most important factor is not how many hours you're banging on something, it's more like, what is the actual impact that you have?
Give me an example of how this plays out in your life. You're the CEO of a company, something comes up that you want to get done. Ordinarily, you would call a meeting, tell people what you need to get done and it would get done. That's how it has sort of worked since time immemorial. How does that work at Doist?
We have an elaborate system called the Doist Objectives System. I think it's really important for a remote-first company to have an operating system that people can operate by. You can't just have a wild, Wild West, because that creates problems. But honestly, I think this is super, super hard for any company, and I don't think we have figured it out 100%.
"I think it's really important for a remote-first company to have an operating system."
Some of the things we can see are super critical: You actually need to have some kind of deadlines and some kind of cycle system, and some kind of planning system as well. We do monthly cycles. And every cycle, we have different projects that we allocate for that cycle — and some projects run for multiple cycles. Then we try to scope split work to fit these.
Then most of the communication happens in written form, where we have templates: You want to do this feature, you need to actually spec it, scope it and try to fit it in this system. And then you kind of need to have people allocated to this as well. In asynchronous-first organizations, most of this communication is in written form. Most of it is transparent. It doesn't really happen inside meetings. This also makes it much easier for other people to go in and see the status updates, where are we with this.
Get even more tactical about it. You get, I don't know, a big bug report. Or you have a feature idea that you're sure you want to do. What's step one?
I think we would probably discuss it, maybe create a thread where we just discuss this. We have threads that are hundreds of comments, discussing a specific thing. And that at some point gets turned into a spec. And the spec is basically a written form, usually not very long, that defines the problem and the solution space.
And the reason why we need that is otherwise you don't really know how you need to allocate people, how long this will take, you can't really get input from designers or developers. And of course, this spec is iterated on, and at some point we say, "OK, in this cycle, we want to do this." And then we can allocate people for that. And we have somebody called the Do Coordinator that does the coordination work to get people allocated and stuff like that.
We're getting to this point where all meetings are going to be recorded, there's going to be a huge amount of written communication, and on the one hand, that's a great thing, right? There's more transparency and openness than ever. But on the other hand, there is this incredible possibility of information overload, when there's so much happening. Because you can be involved in anything, you feel like you should be involved in everything, and everything gets very complicated.
It seems like a big piece of that is really quickly getting to the point where you've identified the people who need to care about something, and sort of told everybody to go back about their lives.
You hit the nail on the head. And I can tell you a story of how this can go horribly wrong. We call it "development and design by committee." Some years ago, when we actually started to do this, a feature was delayed for, like, six months. It was adding checkboxes on our mobile apps, basically adding a circle that you can check off.
I went into the project and saw 40 people were looking into this. And there were huge discussions going on. And that is the really bad, shadowy side of transparency and looping people: You can overdo it.
So what we have done — and this is something that I've seen done a lot of places — is you need to shift focus to individuals. So we have another system called the DRD, which we copied from Apple. They have DRI, which [stands for] Directly Responsible Individual; we have Directly Responsible Doister. So we just want to say, OK, we have just one person allocated that can make decisions and run with that. We try to have as few people as possible in projects, and then they have execution rights. If they want to do something crazy, they can do that. The other system, where you don't have that, is just super painful and super slow.
A lot of the challenge of systems like these is that a huge amount of responsibility falls on leaders. You, in this case, are responsible for not meddling in other people's work and not getting over-involved in things, and not being the bottleneck. Do you feel like you're responsible for the culture continuing the way that it is? Because you could blow up any one of these processes anytime you felt like it, and I think a lot of bosses have a tendency to do that.
Definitely. Bosses can derail a project very easily with a comment. "Maybe we should do this," and suddenly you need to throw away a lot of work. This maybe boils down to what kind of culture you need to have inside a remote-first company. You need to have independence, you need to trust individuals to really make hard decisions and run with stuff. Micromanagement becomes really, really hard to do in an asynchronous way, because you can't even go into a meeting.
It's very uncommon for me, for instance, to book a meeting with somebody to discuss something. And this is of course a problem for some, but also a huge boost for others, especially smart people that are self-driven and independent and self-managed.
One thing I've heard from a lot of folks is that moving to asynchronous means you spend a lot less time in meetings and a lot more time writing. Is that your experience, too?
It's almost everything. It's not brainstorming meetings, it's brainstorming threads, where designers do some mocks, people comment. It can also be general posts that we share with people: Every three months, I share the strategic top three projects that we're working on. This just gets shared to everybody, and then people can react and comment.
There's some other companies that do daily stand-ups, but the problem with the verbal form is it's a lot less efficient and maybe not so precise. You also really need to have great presenters, because people just fall asleep or don't look at it at all. So what we really try to do is also edit our posts, so it's really to the point and really crisp and really concise and well-written, so that people can easily consume it. There's nothing worse than getting 20 pages of ramblings, and then nobody will consume that, either.
How do you think about expectations of timelines? You don't have to respond immediately, which is lovely. But at some point, you do have to respond, right? And some things are sort of more urgent than others. So how do you, as a boss, really set that expectation?
The way that we have set up is, by default, we communicate in an asynchronous way, and we expect an answer in 24 hours. So that's basically the expectation: at least you need to acknowledge that you have seen something, or react to it, so that the person does not really need to wonder, "Did David see this?" I think the worst that can happen for a remote-first environment is radio silence.
You also need to have urgency systems. We use Telegram, so if something goes really badly — a system is down, whatever it is — there's a way to reach out to people, and then they can respond. And then in the worst case, we also have phone numbers for everybody.
I think this can maybe limit some of the anxiety that people have of not being able to reach out to people when you actually need them. The thing is, we have these emergency systems, we almost never use them. It's very uncommon.
I would think one of the big challenges of asynchronous work in general is that it would be really easy for people to feel disconnected, like they're kind of on an island. How do you do both asynchronous-first and have a culture that feels like … a culture?
We have done an experiment in being asynchronous only. And it does not really work. It's very hard to build rapport and connect with people using just text. I think if you really want to be great at this, you need to have the human element. And meetings are critical as well, especially for one-on-ones, or if you want to provide some hard feedback for somebody. You don't want to do that in text.
"If you look at the remote-first companies that are doing this great, most of them have retreats."
If you look at the remote-first companies that are doing this great, most of them have retreats. For us, we couldn't do any retreats for some time now. But I think they are super, super, super critical, because that's where you actually get a human bond. It's just different drinking a beer with somebody or eating a meal with them, talking about random stuff, than it is to be in a chat room with them.
I can see companies investing even more in retreats. We have team retreats, where people meet their teams at random places around the world, and then just work and bond. And we also do that on a company level. It's expensive, but it's so worth it.
Cheaper than buying a lot of real estate, too.
Certainly. We just calculate how much we'd spend on office space, and then just use that on retreats instead.