The Async-First Playbook for Engineering Teams
Remote work isn’t the challenge. Coordination is. Here’s what we’ve learned running a distributed engineering team across three time zones.
Default to writing
Every decision gets documented. Every discussion that matters happens in writing first.
This isn’t bureaucracy—it’s leverage. Written context travels across time zones. Verbal agreements don’t.
# Decision: Switch from REST to GraphQL for mobile API
## Context
Mobile app making 12+ requests per screen. Users on slow connections suffering.
## Decision
Migrate to GraphQL for mobile endpoints. Keep REST for third-party integrations.
## Consequences
- 3 weeks migration effort
- Team needs GraphQL training
- Reduced mobile data usage by ~60%
Overlap hours are sacred
We maintain a 4-hour overlap window: 13:00–17:00 CET. During this time:
- Respond to messages within 30 minutes
- Be available for spontaneous calls
- Schedule all synchronous meetings
Outside this window? Deep work. No expectations of immediate response.
The 10-message rule
If a Slack thread exceeds 10 messages without resolution, it becomes a call. No exceptions.
Text is efficient for simple exchanges. Complex problems need bandwidth.
Documentation as product
Our internal docs follow the same standards as our code:
- README in every repo — How to run, test, deploy
- Decision logs — The why behind architectural choices
- Runbooks — Step-by-step for every production scenario
New team members ship on day three. Documentation is why.
The goal isn’t to replicate an office. It’s to build something better—a system where work happens without waiting, and context is always available.