The engineering team was distributed across eight time zones—California to London to Singapore. They tried to make synchronous communication work. That meant 7 AM meetings for some and 10 PM calls for others. Someone was always exhausted, always excluded, always resentful.
"We had two options," the VP of Engineering told me. "Hire only in overlapping time zones, which would limit our talent pool dramatically. Or learn to work async."
They chose async. It took six months to get right. For the first three months, projects stalled because people waited for responses that took a day to come. Messages went into the void. Decisions that should have taken hours took weeks. The team nearly gave up.
Then they got serious about designing their communication practices deliberately. They established norms, created documentation standards, and built feedback loops. Now, three years later, they ship faster than when everyone was in the same office.
"The async discipline forced us to think more clearly," the VP explained. "When you can't just lean over and explain something, you have to write it down properly. That writing becomes documentation. That documentation compounds."
At SmithSpektrum, I've helped over 40 engineering organizations build async-first cultures. The successful ones understand something that struggling teams miss: async isn't just about tools or time zones. It's about deliberately designing how information flows through your organization[^1].
Why Async Is Hard (And Why It's Worth It)
In an office, communication happens through ambient awareness. You overhear a discussion about the deployment problem. You catch the worried look on your product manager's face after a stakeholder meeting. You absorb organizational context through hundreds of micro-interactions that require no deliberate effort.
Remote and distributed work eliminates all of this. Every piece of context that office workers absorb passively must be actively transmitted in a distributed environment. That's enormously expensive—unless you build systems that make it cheaper.
Synchronous communication scales linearly. If you need to coordinate with five people, you need five schedules aligned. If everyone needs to hear an update, you need a meeting where everyone attends. The coordination cost grows with team size until, in large organizations, engineers spend their entire days in meetings.
Asynchronous communication can scale logarithmically. Write something once, share it, and everyone reads it on their own schedule. Answer a question in a document, and everyone who has that question finds the answer without asking you again. The investment compounds rather than draining away.
But here's what most teams miss: async doesn't happen by default. The natural tendency in distributed teams is to create a simulacrum of office culture through constant Slack messages, impromptu video calls, and synchronous coordination. Teams call themselves "async" while practicing continuous low-grade synchrony that combines the worst of both worlds—the interruption cost of sync without the relationship benefits.
Real async requires deliberate design of how communication happens, what channels serve what purposes, how urgency gets signaled, and how decisions get made and documented. Without that design work, async fails.
The Principles That Make Async Work
The foundation of effective async communication is writing for your future reader—not the person who has all the context, but the person who has none.
When you send a message synchronously, you can provide context on demand. Your reader asks a clarifying question, and you answer immediately. In async communication, your reader might encounter your message twelve hours from now, in a different mental context, without the ability to ask for clarification until you're asleep. Your message must stand alone.
| Communication Type | Default Channel | Response Expectation | Escalation Path |
|---|---|---|---|
| Status updates | Async doc/Slack thread | None required | N/A |
| Questions | Slack channel | Within 24 hours | Mention after 24h |
| Decisions | RFC/design doc | Comment within 48h | Meeting if no consensus |
| Blockers | Direct message + channel | Within 4 hours | Call if urgent |
| Incidents | #incidents channel | Immediate | Page on-call |
This means frontloading the critical information. What do you need? By when? What's the context? What decision needs to be made? Most engineers bury the request in the fourth paragraph after providing extensive background. Async-effective engineers lead with the ask, then provide the background for those who need it.
"TL;DR: We need to decide on database migration approach by Friday. Option A is vertical scaling, Option B is sharding. I recommend B for reasons below. Please review and comment by EOD Thursday."
That's the first line. Everything else—the technical details, the trade-off analysis, the history—comes after. People read in F-patterns, scanning the top and left edge. Put the critical information where they'll actually see it.
Making response expectations explicit is the second principle that transforms async effectiveness. In synchronous communication, urgency is usually obvious—someone walks over to your desk, they need something now. In async communication, everything arrives in the same inbox, the same channel, the same notification stream. Without explicit signals, everything seems equally urgent, which means nothing is.
I advise teams to establish clear conventions: "BLOCKING" means someone can't make progress until they get a response. "FYI" means no response needed. Deadlines should be specific—"by Friday noon PT"—not vague. And the people who need to respond should be explicitly tagged, not left to infer whether a message applies to them.
The third principle is closing the loop. Async communication fails when messages go into the void. Did they see it? Are they working on it? Did they decide something? The uncertainty compounds until people start scheduling synchronous meetings just to confirm that their async messages were received.
Closing the loop means acknowledging receipt ("Got it, will review tomorrow"), providing progress updates ("Still working on this, expect to finish Friday"), confirming completion ("Done. Here's what I decided and why"), and summarizing decisions so they're findable later. It feels redundant—of course they'll read your message—but the redundancy creates the reliability that makes async trustworthy.
Building Your Async Channel Architecture
Every communication channel has implicit norms around permanence, urgency, and expected response time. The teams that struggle with async have allowed these norms to develop haphazardly. A Slack channel that started for casual conversation becomes the place where critical decisions get made and lost in scroll-back.
I recommend teams build an explicit channel hierarchy. At the base, you need a source of truth—your wiki, your handbook, your decision records. This is where permanent information lives: how things work, what decisions were made and why, who owns what. Information here should be findable months or years later.
Above that, you need working documents—Google Docs, Notion pages, whatever your team uses for active collaboration. These are documents where multiple people contribute, where ideas get developed before they're finalized. They're more permanent than chat but not yet canonical.
Above that, threaded discussions—Slack threads, GitHub discussions, comment sections. This is where ideas get explored, questions get answered, decisions get debated. The threads can be found if you know to look for them, but they're not the permanent record.
At the top, ephemeral coordination—quick messages, status updates, the daily flow of keeping work moving. This should be assumed to disappear; if something matters, it should flow up to a more permanent layer.
The discipline is ensuring that information flows up the hierarchy. Decisions made in Slack threads get documented in working documents that become source-of-truth entries. Ideas explored in comments get refined into specifications. Important messages get pinned, then become wiki pages.
Without this flow, organizations develop what I call "documentation debt"—critical information trapped in inaccessible places, findable only by people who remember the original conversation. New team members have no way to discover what matters because it's buried in a year of Slack history.
Async Patterns for Engineering Work
Code review is the most natural async engineering practice because it's already inherently asynchronous—you submit a PR, reviewers comment, you respond. But most teams haven't optimized their code review for async effectiveness.
The key is reducing the round trips. Each round trip costs a day of calendar time in a fully async environment. If your PR requires three rounds of feedback and revision, that's a week of elapsed time for something that might take an hour of total work.
Self-review before requesting review catches the obvious issues that would otherwise require reviewer time. Comprehensive PR descriptions—what's changing, why, how to test it, what could go wrong—answer questions before reviewers have to ask them. Stacked PRs keep each review small enough to complete in one pass. And teams should establish clear expectations for review turnaround—"24 business hours" is a common norm.
Design review adapts similarly. The traditional approach—a meeting where someone presents their design and everyone discusses—can be effective, but it scales poorly and excludes people in different time zones. An async-first design process works differently: the author writes a detailed RFC. Reviewers comment asynchronously over a defined period, usually three to five days. The author revises based on feedback. A short synchronous meeting happens only if there are unresolved disagreements that need real-time discussion. The final decision and rationale get documented.
This approach produces better decisions because reviewers have time to think rather than reacting in real-time. It's more inclusive because anyone can participate regardless of time zone. And it creates documentation automatically.
Standups are the practice most ripe for async transformation. The traditional standup meeting—what did you do yesterday, what will you do today, any blockers—is essentially a status broadcast that forces synchronous attendance to share asynchronous information. Converting to written standups—daily posts in a channel—preserves the visibility benefit while eliminating the meeting coordination cost. Some teams use async video updates (Loom-style) when written text doesn't convey enough nuance.
When Sync Still Wins
The goal isn't async everything. Some situations are genuinely better synchronous, and pretending otherwise leads to frustrated engineers sitting through endless async back-and-forth that could be resolved in a ten-minute call.
Conflict resolution is almost always better sync. Written communication strips tone and body language, making disagreements feel more adversarial than they are. Two engineers who've been debating architecture in comments for three days often resolve their disagreement in twenty minutes of video conversation once they can read each other's intent.
Relationship building requires synchronous time. You can't build the trust that makes async work through text alone. The teams that succeed at async usually have regular synchronous rituals—weekly video calls, quarterly off-sites, intentional one-on-ones—that build the relationships that make async collaboration feel human rather than transactional.
Complex negotiations with many stakeholders need the tight feedback loops that sync enables. If you're trying to align five teams on a shared approach, async messages will take weeks to converge. A meeting can get alignment in an hour.
Crisis response is obviously sync—when production is down, you need a war room where everyone is present and communicating in real-time. But I've seen teams successfully use async components even in incidents: the initial response is sync, but the investigation can be partially async with good note-taking, and the post-mortem is usually better written async than discussed in a meeting.
The pattern is: default to async, escalate to sync when async fails. After two or three rounds of async back-and-forth without resolution, schedule a call. Don't let async-purity become an excuse for communication inefficiency.
Building Async Culture
The hardest part of async transformation isn't the tools or the processes—it's the culture shift. Engineers who grew up with "just lean over and ask" find async uncomfortable. Managers who equate presence with productivity feel out of control when they can't see their team working. The transition requires active effort.
Start with norms that feel unnatural. "No ping-then-wait"—put your full question in the first message rather than "hey, got a minute?" "Write it down"—the default should be written rather than verbal. "Office hours over interrupts"—batch questions rather than messaging whenever a thought occurs. "Documented decisions"—any decision made in a meeting gets recorded in writing.
These norms feel fussy and bureaucratic to people used to casual office culture. They're worth the overhead because they create the foundation for sustainable async work.
Response time expectations need to be explicit and realistic. I see teams fail because they set expectations they can't meet—"respond within an hour" becomes "feel guilty when you don't respond within an hour but still respond within a day." Be honest about what's achievable: same-day for direct messages during business hours, next day for channel mentions, a few days for document comments.
Fighting async anti-patterns is ongoing work. The "everything is urgent" syndrome comes from people who haven't learned to distinguish real urgency from habitual escalation. The "meeting for everything" syndrome comes from managers uncomfortable with not seeing people. The "no response ever" syndrome comes from unclear norms and no accountability. Each needs attention and correction.
The Transition Period
Teams moving from sync-heavy to async-first should expect a difficult transition. There's usually a "trough of despair" around month two, where the old ways have stopped working but the new ways haven't yet become habitual. Projects feel slow, people feel disconnected, and the temptation to give up is strong.
Push through. The teams that succeed are the ones that iterate through the discomfort, adjusting their practices based on what's not working, refining their norms, building better documentation habits. By month four or five, something clicks. The documentation starts to compound. The asynchronous discussions start to feel natural. The synchronous time becomes more valuable because it's reserved for things that genuinely need it.
The VP whose team spans eight time zones told me their productivity metrics now beat their when-we-were-all-in-one-office numbers. Deployment frequency is up. Incident response time is down. Engineer satisfaction is higher because everyone has more focus time and nobody is in meetings at 10 PM.
"The discipline that async requires made us better communicators," he said. "We don't have the luxury of being vague because vague messages just get ignored. We can't rely on synchronous corrections because corrections take a day. We had to learn to communicate clearly the first time."
That's the real gift of async culture: it forces the communication clarity that all teams need, whether distributed or not.
References
[^1]: SmithSpektrum remote work advisory, async practices research, 2021-2026. [^2]: GitLab Handbook, "Asynchronous Communication." [^3]: Doist, "Async Work" resources and research. [^4]: Cal Newport, "A World Without Email," 2021.
Building an async-first engineering culture? Contact SmithSpektrum for remote work strategy and practices.
Author: Irvan Smith, Founder & Managing Director at SmithSpektrum