Async All the Way Down: How Remote Teams Accidentally Broke the One Thing That Actually Needed Talking
There's a version of remote work that looks great on paper. No commute, no open-plan office noise, no one stopping by your desk to "just quickly" ask something that takes forty-five minutes. You write when you're sharp, you ship when you're ready, and meetings are basically optional. It sounds like developer paradise.
And then the pull request sits in review for three days because two engineers are in different time zones and neither one wanted to "bother" the other with a direct message. Or a feature ships that contradicts a decision made in a Notion doc that only two people read. Or a new hire spends their first month piecing together context from a dozen different async threads like they're solving a cold case.
This is the async trap. And a lot of distributed dev teams are stuck in it.
The Promise vs. the Reality
The appeal of async-first culture is real and well-founded. Constant interruptions are genuinely expensive for developers. Research on flow states suggests it can take upward of twenty minutes to recover from a context switch, and most engineers will tell you that their best work happens in unbroken stretches. So the instinct to protect that time by defaulting to async communication makes sense.
The problem is that async communication isn't neutral. It has costs that are easy to miss because they don't show up on your calendar. They show up in the lag between a question asked and a decision made. They show up in the misread tone of a Slack message that kicks off a two-day misunderstanding. They show up in the junior dev who didn't want to seem needy and spent four hours going down the wrong path because asking felt like an interruption.
Async work fragments knowledge. When conversations happen in threads, in comments, in recorded video walkthroughs that nobody watches all the way through, the institutional understanding of why something was built a certain way gets scattered across a dozen tools. And scattered knowledge moves slowly.
The Hidden Tax of Coordination Overhead
Here's something worth sitting with: async communication doesn't eliminate coordination overhead. It just makes it invisible.
When you're in an office and two engineers disagree on an approach, they hash it out at a whiteboard in fifteen minutes. In a fully async team, that same disagreement might play out over two days of back-and-forth comments, each message carefully worded to avoid seeming aggressive, each reply delayed by timezone gaps or context switching. By the time a decision lands, both engineers have partially moved on and have to reload the context anyway.
That's not deep work. That's slow work wearing deep work's clothes.
There's also what you might call the "async performance" problem. Some team members are genuinely great async communicators — they write clearly, document thoroughly, and respond thoughtfully. Others aren't, and in an async-first culture, that gap becomes a serious equity issue. The engineers who struggle to express nuance in writing get less input into decisions. The ones who are better at writing long Slack messages than shipping code end up with outsized influence. Neither outcome is what you wanted.
When Sync Actually Wins
The teams that handle this best aren't the ones who went fully async or who swung back to mandatory daily standups. They're the ones who got intentional about when synchronous interaction is actually the faster tool.
Some rough heuristics that show up in high-functioning distributed teams:
If a thread has gone three rounds without resolution, get on a call. This one sounds obvious but it's underused. The moment a back-and-forth stops making progress, the cost of a thirty-minute video call is almost always lower than another day of async drift.
Architecture decisions need synchronous input. Writing up a design doc and asking for async comments is great for gathering perspectives. But the actual decision — especially when it involves tradeoffs — benefits from real-time conversation where people can push back, ask clarifying questions, and reach genuine agreement rather than polite non-objection.
Onboarding is almost entirely a sync problem. New engineers don't need more documentation. They need access to people who can answer the questions they don't know how to ask yet. Async-heavy onboarding is one of the fastest ways to lose early-tenure talent.
High-stakes debugging is a sync activity. When something is on fire in production, async communication slows incident response in ways that hurt both the system and the team's morale. A live call with screen sharing will almost always outperform a Slack thread when the stakes are high.
Fixing the Culture Without Killing the Calendar
None of this means async is bad. It means async is a tool, and like most tools, it works best when people are deliberate about using it.
A few things that actually help:
Set explicit norms around response windows. "Async" shouldn't mean "whenever." Teams that work well together have shared expectations — something like a four-hour response window during working hours — that prevent async from becoming a black hole.
Create obvious escalation paths. Engineers should know that it's not just okay but expected to pull someone into a quick call when async stops working. The culture has to actively support this, not just tolerate it.
Audit your async artifacts. If your team has Loom videos, Notion docs, and Confluence pages that nobody reads, that's not documentation — it's a false sense of coverage. Fewer, better artifacts beat comprehensive archives that live in the dark.
Protect sync time by making it count. If you're going to ask people to get on a call, the call needs to be worth it. Agenda, decision owner, clear outcome. The teams that do sync well make it easy for everyone to say yes to a short, focused call because they've built a track record of those calls actually accomplishing something.
The Real Question
Async culture spread through the tech industry partly because it was a genuine improvement over the meeting-bloated, open-office chaos of the previous decade. But the pendulum swung hard, and a lot of teams ended up optimizing for the appearance of async productivity while quietly paying the coordination tax in slower decisions, fragmented knowledge, and engineers who feel isolated even when they're technically reachable.
The goal was never async for its own sake. It was thoughtful work, done well, by people who have what they need to make good decisions. Sometimes that means a Slack message. Sometimes it means a fifteen-minute call. The teams that build well over the long haul are the ones who know the difference — and aren't afraid to pick up the phone.