Six months ago, our engineering team was drowning in meetings. As we scaled from 25 to 80+ engineers across three time zones (Atlanta, Austin, and Bangalore), the synchronous collaboration model that worked when we were small had become our biggest bottleneck.
The average engineer was spending 20+ hours per week in meetings. Standup, sprint planning, backlog grooming, architecture reviews, 1:1s, all-hands, team syncs, cross-team syncs… the calendar was a sea of blue blocks. Engineers were coding at 9pm because their days were consumed by Zoom calls.
The Breaking Point
Our VP of Product showed me data that made me sick: our cycle time had doubled in six months, even as we added headcount. We were getting slower as we grew. The culprit? Meeting overhead and context switching.
I knew we had to make a fundamental shift. After researching companies like GitLab and studying async-first practices, I made the call: we were going async-first, effective immediately.
Our Async-First Principles
-
Default to written communication. Every decision, every update, every discussion starts in writing. We use Notion for RFCs and ADRs, Slack threads for discussions, and Linear for work tracking. If it’s important enough to meet about, it’s important enough to document.
-
Protected focus time. No meetings on Tuesday and Thursday mornings. These are sacred “maker time” blocks. Engineers can opt-in to collaboration, but the default is deep work.
-
Clear response expectations. We established SLAs: 24 hours for non-urgent questions, 4 hours for urgent issues, immediate only for production incidents. This freed people from the “always on” anxiety.
-
Meeting scorecards. Every recurring meeting has to justify its existence quarterly. We ask: Could this be async? What’s the cost (attendees × time)? What’s the value? We killed 40% of our meetings in the first month.
-
Async-friendly rituals. Our standups moved to Slack threads. Sprint planning happens in Notion first, then a focused 30-minute sync to finalize. Retrospectives collect input async, discuss sync.
The Results (So Far)
After six months, the data is compelling:
- 60% reduction in meeting time (from 20hrs/week to 8hrs/week average)
- 40% increase in velocity (measured by story points delivered per sprint)
- Improved engineer satisfaction (from 6.8 to 8.2 on our quarterly survey)
- Better documentation (our Notion workspace went from 200 to 1,500+ docs)
- Higher quality decisions (more time to think = better technical choices)
The Challenges
I’d be lying if I said it was smooth sailing:
-
Initial resistance: Some senior engineers who thrived in meeting culture pushed back. “We’re losing collaboration!” It took data and patience to win them over.
-
Learning curve: Writing good RFCs and async updates is a skill. We had to teach it explicitly. We created templates and did writing workshops.
-
Inclusion concerns: We had to be intentional about ensuring quiet voices were heard. Async can amplify existing power dynamics if you’re not careful. We implemented “rounds” where everyone has to weigh in before a decision.
-
Loneliness: Some people missed the social aspect of meetings. We added optional virtual coffee breaks and maintained a few key team rituals for connection.
The Key Insight
Async-first requires MORE upfront investment, not less. You have to document more, communicate more clearly, and create stronger structures. But once you pay that cost, the returns are exponential. Your team can work across time zones, people can think deeply before responding, and decisions get better because they’re not rushed.
The sync-heavy model optimizes for speed of communication. The async-first model optimizes for quality of work. In the long run, quality wins.
I’m still learning here, and every team is different. What async practices have worked for your teams? What challenges did you face? How do you balance the need for connection with the benefits of deep work?