I’ve been managing distributed engineering teams for three years now, and last month something clicked that I should have realized way earlier.
We have 40 engineers spread across San Francisco, Austin, and a small team in Mexico City. On paper, we’re “remote-first.” We have Slack, Zoom, the whole distributed toolkit. But I was watching our engineering manager in Mexico City hop on a 9 PM call—9 PM her time—to discuss a sprint planning question that could have waited.
That’s when it hit me: We’re not remote-first. We’re office-first with Zoom.
The Problem With Distributed Office Culture
Here’s what I mean. When 67% of tech workers are now remote (according to 2026 workforce data), you’d think we’d have figured out asynchronous collaboration by now. But most organizations—including mine until recently—just replicated office communication patterns in digital form.
Real-time Slack expectations. Daily standups that happen at a fixed time. Design reviews where everyone needs to be present. Architecture discussions that require “getting everyone in a room” (virtually).
The math doesn’t work. Our SF team starts at 9 AM Pacific. Mexico City is 2 hours ahead. By the time we schedule a “team meeting,” someone is either starting their day with meetings or ending it that way. And forget about deep work—our calendars looked like Swiss cheese.
When Documentation Became Infrastructure
We made a shift about six months ago, and the results have been surprising.
The core principle: If it’s not written down, it doesn’t exist.
Every architecture decision now requires an ADR (Architecture Decision Record)—one page, captures context, options, decision, and consequences. Every sprint goal has a written brief. Every incident has a timeline doc that gets updated in real-time.
Here’s what changed:
-
67% fewer blocking delays (we measured this): Engineers used to get stuck waiting for someone in a different timezone to answer questions. Now they check docs first, and docs actually exist.
-
Meeting time cut by 40%: We went from 15+ hours of meetings per week to under 10. Status updates moved to Linear. Design reviews happen in Figma comments + Loom walkthroughs. Only conflict resolution and brainstorming stay synchronous.
-
Onboarding got faster: New engineers can actually search for “how we made this decision” instead of playing detective through Slack history or waiting for tribal knowledge gatekeepers.
But Culture Fought Back
I’m not going to sugarcoat this: The hardest part wasn’t the process. It was convincing senior engineers to write things down.
These are people who’ve spent 15 years solving problems in hallway conversations and whiteboard sessions. Asking them to document their thinking felt like bureaucracy. Several told me directly: “This slows me down.”
What eventually won them over: Fewer interruptions. Once our documentation was good enough, junior engineers stopped pinging them every 30 minutes. They got their focus time back. The async tax on the frontend paid dividends on the backend.
The Question I Can’t Answer Yet
Here’s what I’m still wrestling with: How do you know if your team is truly async-ready versus just geographically distributed?
We’ve made progress, but I catch our team slipping back into synchronous patterns. Someone schedules a “quick sync” instead of writing a doc. A decision happens in a Zoom call, and nobody captures it. Slack becomes an always-on expectation again.
For those of you running distributed teams: What are your markers of async readiness? How do you enforce documentation culture without becoming the process police? And how do you balance async efficiency with the human need for real-time connection?
I’m particularly curious about what breaks first when you go async-first. For us, it was mentorship—junior engineers struggled without real-time guidance. We had to rebuild our mentoring approach. What broke for you?