Meetings are a point of escalation, not the starting point of a conversation
TL;DR: Default to transferring context asynchronously. Hold colleagues accountable for being async first. If you receive a meeting invite without context, an agenda, or a read-ahead doc, consider politely declining.
Asynchronous communication (Issues, PRs, Google Docs, and sometimes Slack) should be the default, reserving more synchronous mediums (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 kick off 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, different people have different learning styles - not everyone absorbs information best via 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 does not. 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
You may be skeptical. I was curious, so I wrote a quick script to pull stats from my own calendar. My first year at GitHub (2013), I had a grand total of 16 internal meetings. Yes, we were smaller back then, but we were also dogmatic about being async first, almost to a fault. As we grew, my second year I had 43 meetings, and things gradually increased from there. This year, I’m on track to have over 600 meetings. There’s got to be a better way!
Working asynchronously by default fosters a more inclusive culture, facilitates discoverability and permanence, create space for learning, allows for greater work-life balance, and produces better outcomes, faster. Async is also the key to making remote work, work.
Hold colleagues accountable for being truly 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 discussion 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?
Check out these popular posts on GitHub's culture and communication patterns.
If you enjoyed this post, you might also enjoy:
- Four characteristics of modern collaboration tools
- 15 rules for communicating at GitHub
- Why everything should have a URL
- Manage like an engineer
- Eight tips for working remotely
- Why open source
- Twelve tips for growing communities around your open source project
- Intro to GitHub for non-technical roles
- Five best practices in open source: external engagement
- Leaders show their work
- Why you should work asynchronously
Ben Balter is the Director of Engineering Operations and Culture at GitHub, the world’s largest software development platform. Previously, as Chief of Staff for Security, he managed the office of the Chief Security Officer, improving overall business effectiveness of the Security organization through portfolio management, strategy, planning, culture, and values. As a Staff Technical Program manager for Enterprise and Compliance, Ben managed GitHub’s on-premises and SaaS enterprise offerings, and as the Senior Product Manager overseeing the platform’s Trust and Safety efforts, Ben shipped more than 500 features in support of community management, privacy, compliance, content moderation, product security, platform health, and open source workflows to ensure the GitHub community and platform remained safe, secure, and welcoming for all software developers. Before joining GitHub’s Product team, Ben served as GitHub’s Government Evangelist, leading the efforts to encourage more than 2,000 government organizations across 75 countries to adopt open source philosophies for code, data, and policy development. More about the author →