How to communicate like a GitHub engineer: our principles, practices, and tools

Learn more about how we use GitHub to build GitHub, how we turned our guiding communications principles into prescriptive practices to manage our internal communications signal-to-noise ratio, and how you can contribute to the ongoing conversation.

Ben Balter
11 min readintermediate
--
View Original

Overview

The article outlines GitHub Engineering's communication principles, practices, and tools developed from their experience as a remote-first company. It emphasizes asynchronous communication, the use of GitHub tools for collaboration, and the establishment of shared expectations to enhance internal communication.

What You'll Learn

1

How to establish asynchronous communication practices in a remote team

2

Why documenting internal communications improves collaboration

3

How to use GitHub tools for effective project management

4

When to apply automation to reduce notification fatigue

Key Questions Answered

What are the guiding principles for communication at GitHub?
GitHub's communication is guided by eight principles: be asynchronous first, write things down, make work visible, prefer GitHub tools, embrace collaboration, maintain documentation, communicate openly, and prioritize practicality over purity.
How does GitHub manage notification fatigue among engineers?
GitHub addresses notification fatigue by allowing engineers to opt-in to discussions relevant to their interests, using 'magic labels' for important announcements, and automating daily and weekly content roundups to streamline communication.
What tools does GitHub use to facilitate communication?
GitHub uses its own platform features such as issues, pull requests, discussions, and projects to manage work and facilitate communication among teams, promoting an open and collaborative environment.
How does GitHub incorporate AI into their communication practices?
GitHub utilizes Azure's OpenAI service to generate summaries for internal discussion posts that lack a human-authored TL;DR, enhancing the skimmability of information for engineers.

Key Statistics & Figures

Number of engineers at GitHub
1,500
This large number presents challenges in keeping everyone informed without overwhelming them with notifications.
Years GitHub has been remote-first
15
This long-standing remote culture has shaped their communication practices and tools.
Number of people involved in creating communication guidelines
100
This collaborative effort ensured diverse input and buy-in from across the engineering organization.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Establish a set of guiding principles for communication within your organization to ensure consistency and clarity.
This helps align teams around common values and practices, facilitating smoother collaboration across different functions.
2
Utilize GitHub tools for project management to enhance visibility and communication among team members.
By leveraging existing tools, teams can streamline their workflows and ensure that all members are informed and engaged.
3
Implement automation to manage notifications and reduce information overload.
Automation can help teams focus on critical updates while minimizing distraction from less relevant discussions.

Common Pitfalls

1
Failing to establish clear communication practices can lead to confusion and misalignment among teams.
Without shared expectations, teams may struggle to collaborate effectively, resulting in duplicated efforts and missed deadlines.
2
Overloading team members with notifications can lead to notification fatigue.
It's crucial to implement systems that allow for opt-in notifications to ensure that team members only receive relevant updates.

Related Concepts

Remote Work Best Practices
Asynchronous Communication
Collaboration Tools
Documentation Strategies