Skip to main content

Meetings are a point of escalation, not a starting point

3 min read Written while I was at GitHub

Summary: Most meetings are just information downloads that could’ve been a doc. Treat meetings as a point of escalation based on complexity, not the default starting point.

Table of contents

Asynchronous communication (Issues, PRs, Google Docs, and sometimes Slack) should be the default, reserving more synchronous media (like video calls and in-person meetings) for the types of conversations that uniquely benefit from their higher fidelity (brainstorming, whiteboarding, interpersonal conflict, social connection, etc.). Put another way, the phrase “async first” should be taken literally.

Default to transferring context asynchronously

When starting up a new initiative or collaborating with a colleague for the first time, it’s often tempting to “throw some time on their calendar” to “kick things off”. Such kickoff meetings often consist primarily of an information download, sharing context from one coworker to another with a specific call to action or request for feedback. But information transfer isn’t always the best use of synchronous time, especially when you consider the overhead of scheduling (especially across time zones), scaling (O(n) vs O(1)), and memorializing outcomes (as durable artifacts available to others). Not to mention, people learn differently. Not everyone absorbs information best by voice and in real time.

Instead, next time, consider transferring that context asynchronously (as a GitHub issue or Google Doc, for example), and then scheduling a meeting only if the conversation requires it. You’d be surprised how often it doesn’t. A few minutes of reading or a few comments on an issue or Google Doc can often replace waiting days for mutual availability and a dedicated 30-minute block of time. In this sense, you can think of meetings as a point of escalation based on complexity, not as the default starting point for a workstream, initiative, or conversation.

Meetings are not where work happens

Bar chart of my internal meetings per year, rising from 16 to over 600

Working asynchronously by default makes your culture more inclusive, makes decisions discoverable and permanent, creates space for learning, gives people better work-life balance, and produces better outcomes, faster. Async is also the key to making remote work, work.

Hold colleagues to async first

If you receive a meeting invite (or if a colleague requests permission to send you a meeting invite) without context, an agenda, or a read-ahead doc, consider politely declining, or at least asking for one. It’s well within your rights (you can even link to this post as a “get out of jail meeting free” card). After all, if the person requesting the meeting hasn’t taken the time to distill their thoughts into writing, why should they be able to decide how you spend your own time?

Keep reading

  • Interviewing or starting at GitHub? Read these first

    After 13 years working at GitHub, here's what I'd read before interviewing or starting there: how GitHubbers write things down, work async, and ship.

  • Why you should work asynchronously

    Async is what makes remote work actually work. It produces better outcomes, improves work-life balance, and makes room for flow by moving past Cold War-era workflows.

  • Merge by committee

    Reviewing pull requests in weekly committee meetings kills open source projects. Decentralize governance and reduce information imbalance.

Ben Balter

I'm Ben Balter, and I write here about developer platforms, product and engineering leadership, open source, and showing your work. I spent over a decade building developer platforms at GitHub. For five years I was a product manager for trust and safety, shipping 500+ features and the API endpoints behind them to 50M+ developers. I also led a bottom-up rewrite of GitHub Pages and wrote the open source library behind GitHub's license detection, and my open source projects have hundreds of millions of downloads. I wrote Open and Async, the playbook for remote and distributed teams, and shipped a Model Context Protocol (MCP) server alongside it so agents can query it directly. More about the author

Follow along: Bluesky LinkedIn

Originally published April 20, 2023 View revision history

This page is open source Help improve this article on GitHub

Keyboard shortcuts

Search

  • / or ⌘ K Open search
  • ↓ or j ↑ or k Move through results
  • Enter Open the selected result
  • Esc Close search

Go to

  • g then h Home
  • g then p All posts

This page

  • y Copy link to this page
  • ? Show this list