Sign in

Ben Balter

@ben.balter.com
928 followers 369 following 2.4K posts

Helping distributed teams work in the open & default to async | Author of Open & Async | Ex-GitHub Director, Presidential Innovation Fellow, attorney

PostsRepliesMedia
Ben Balter @ben.balter.com · 08/09/2026
GIF-vs-JIF is the one argument text can't settle. It only lives out loud. My audiobook narrator is a machine, and it picked "jif." Correctly. I also cut a chapter the wrong way, free, so you can settle it yourself: ben.balter.com/2026/09/08/g...
ben.balter.com
It's pronounced JIF. The Open and Async audiobook is out. | Ben Balter
The Open and Async audiobook is out. It's read by a synthetic narrator who says 'jif,' correctly. For the hard-G crowd who insist that's heresy, I re-recorded an entire chapter in their (wrong) pronun...
010
Ben Balter @ben.balter.com · 27/08/2026
I over-engineered a pipeline to avoid writing my book, then found the ebook already met WCAG 2.1 AA, mostly by accident. Turns out structure that passes an accessibility audit is the same structure an LLM reads. A screen reader and a language model want the same file. ben.balter.com/2026/08/27/a...
ben.balter.com
Accessible by default: writing a book like software | Ben Balter
The ebook meets the Web Content Accessibility Guidelines (WCAG 2.1 Level AA) because the format wouldn't let me fake a heading and a browser audits every build, not because anyone scheduled a week for...
032
Ben Balter @ben.balter.com · 17/08/2026
I built a CI pipeline for my book. Not a metaphor: ~5,500 automated tests, a linter that yells when I hyphenate "open source," and a build that spits out five formats on every git push. For a book I wrote by myself. Write-up: ben.balter.com/2026/08/17/h...
A GitHub Actions run of build.yml fanning out into fourteen jobs — lint-and-test, detect-duplicates, build-css, build-epub, build-kindle, build-pdf, build-html, build-docx, and Build PDF/X-1a, then validate-epubcheck, validate-ace, validate-links, validate-html, and validate-playwright — every one passing green, total duration five minutes eight seconds.
141
Ben Balter @ben.balter.com · 11/08/2026
If you've worked with me, you're likely aware of my infamous reorg calculator. It uses over-engineered statistics to predict the next reorg and over a decade+, it's been scarily accurate. The code is now open source so that you can predict when your next "Reorg Tuesday" github.com/benbalter/re....
Kaplan Meir survival curve showing manager survival probabilityResult of monte carlo simulation and forecast ensemble
130
Ben Balter @ben.balter.com · 28/07/2026
Thanks to @overcommitted.dev for having me on to talk remote engineering culture, why a decision without a URL gets relitigated forever, why working loudly ≠ self-promotion, and why async is quietly an inclusion strategy. Full episode 🎧 overcommitted.dev/open-and-asy...
overcommitted.dev
Open and Async Work | Remote Engineering Culture with Ben Balter - Overcommitted | Software Engineering and Programming Insights - Episode 70
Learn how async-first communication transforms remote engineering culture and developer productivity. Ben Balter, open source governance expert, shares practical strategies for building transparent, d...
191
Ben Balter @ben.balter.com · 22/07/2026
Linux was remote-first three decades before "remote-first" was a LinkedIn headline. Open source is the biggest distributed-work experiment in history — it just never called itself that. Essay: allthingsopen.org/articles/open-source-solved-remote-work-distributed-collaboration
allthingsopen.org
Open source already solved remote work. Everyone else is just catching up. | We Love Open Source • All Things Open
Open source has been running the world's largest distributed work experiment for decades. Here's what it got right about distributed collaboration — and how open source contributors can bring those sk...
020
Ben Balter @ben.balter.com · 21/07/2026
Most companies didn't go remote — they digitized the office. Same meetings, same interruptions, now on Zoom. Open and Async is out today: the open-source way of working — in the open, in writing, async by default — turned into a playbook for your team. open-and-async.com
"Async is the operating system; remote is the hardware."

Open & Async
A new book by Ben Balter
The collaborative software development playbook for remote and distributed teams.

Now available.
152
Ben Balter @ben.balter.com · 11/07/2026
Emoji, uh... finds a way. (Every time it breaks something, it's handing you an edge case you didn't know you had.)
020
Ben Balter @ben.balter.com · 24/06/2026
User-supplied emoji always uncovers the edge cases.
000
Ben Balter @ben.balter.com · 08/06/2026
In thirteen+ years at GitHub I was part of 25 reorgs—almost one every six months. Reorgs are a constant in tech, not a crisis. Here's how to navigate them. ben.balter.com/2026/06/07/r...
ben.balter.com
Reorgs happen
In thirteen years at GitHub I was part of 25 reorgs—almost one every six months. Reorgs are a constant in tech, not a crisis. Here's how to navigate them.
030
Reposted by Ben Balter
Danny Smith @danny.is · 06/06/2026
Since everyone seems to be publishing standard.site records for their website content, I have too... Inspired by @ben.balter.com 's post.
danny.is
This site now has Atproto Records
021
Reposted by Ben Balter
All Things Open @allthingsopen.bsky.social · 19/05/2026
🚀 NEW on We ❤️ Open Source 🚀 Great work can become invisible without a record of impact. Ben Balter (@ben.balter.com) explains how a simple brag doc helps fight recency bias, track wins, and strengthen promotion conversations over time. allthingsopen.org/articles/bra... #WeLoveOpenSource
Left side says We Love Open Source. #WeLoveOpenSource. ATO. A community education resource from All Things Open. Right side has illuminated street lamp on a foggy night.
002
Ben Balter @ben.balter.com · 05/05/2026
Yesterday was my last day at GitHub. I’m going to take some time to ship a book sharing what I learned over the past 13 years (open-and-async.com).
open-and-async.com
Open & Async — A New Book by Ben Balter
The collaborative software development playbook for remote and distributed teams. Drawing on a decade at GitHub, this book shows you how to thrive—not just survive—in distributed work.
3100
Ben Balter @ben.balter.com · 05/04/2026
I made a thing. Please don't send meeting invites without an agenda. noagendanomeeting.net
noagendanomeeting.net
No Agenda, No Meeting
A meeting without an agenda is like calling a function without documentation. Please don't send meeting invites without one.
1112
Ben Balter @ben.balter.com · 04/03/2026
Today marks thirteen years since I joined GitHub. I’ve been writing a book—Open and Async—distilling everything I’ve learned about remote and distributed work into a playbook. To mark the “Hubberversary,” here is a WIP sneak preview of the book’s intro. ben.balter.com/2026/03/04/t...
ben.balter.com
I've worked remotely at GitHub for thirteen years: here's what actually works. | Ben Balter
When I joined GitHub in 2013, I found a company that had fundamentally rethought how work happens. Thirteen years later, the lessons from that experiment are more relevant than ever.
020
Ben Balter @ben.balter.com · 18/11/2025
If you had access to virtually unlimited GitHub Copilot usage and could build anything, how would you use it to contribute to/better the open source community? What problems aren’t being solved because they’re too labor intensive? Example: rewrite Jekyll.rb as Jekyll.js to modernize it.
jekyll.to
110
Ben Balter @ben.balter.com · 23/06/2025
Can AI moderate open source communities to keep conversations productive? I created a quick GitHub Action that looks at issues/PRs/comments and can take moderation actions (warn, hide, lock, etc.) based on AI's evaluation of the content. Ideas/feedback welcome. github.com/benbalter/ai...
github.com
GitHub - benbalter/ai-community-moderator: An AI-powered GitHub Action that helps moderate community interactions by enforcing contributing guidelines and codes of conduct.
An AI-powered GitHub Action that helps moderate community interactions by enforcing contributing guidelines and codes of conduct. - benbalter/ai-community-moderator
040
Ben Balter @ben.balter.com · 09/04/2025
Archived more than 4,000 inactive Slack channels today with a quick GitHub Action Copilot and I whipped up. I hope to open source “Slack Stale Archiver” after it’s been running for a bit. Encouraging people to post their favorite animated GIF to keep the channel active has been the best part so far.
Abstract image of a broom sweeping chat message icons.
030
Reposted by Ben Balter
Waldo Jaquith @waldo.net · 25/03/2025
Blog entry: Why I work in the open. I’ve long worked in the open, overwhelmingly for one reason: it increases enormously the surface area for success.
waldo.jaquith.org
Why I work in the open.
I've long worked in the open, overwhelmingly for one reason: it increases enormously the surface area for success.
3446
Ben Balter @ben.balter.com · 13/02/2025
Slack channel name squatting is the new domain squatting.
040
Ben Balter @ben.balter.com · 04/02/2025
I see the "Simple Sabotage Field Manual" is making the rounds again in some circles. Thought it was timely to share this post again on my updated take: ben.balter.com/2016/01/15/h...
ben.balter.com
How to derail any meeting
How a WWII field manual can help modern knowledge workers identify those inadvertently sabotaging your organization today.
052
Ben Balter @ben.balter.com · 30/01/2025
If you do a lot of writing and are looking for a grammar, style, and spell checker that doesn't send what you write to a third party service, I wrote up instructions for how to setup and use the open source LanguageTool locally on your machine. ben.balter.com/2025/01/30/h...
ben.balter.com
How to run LanguageTool on macOS
How to set up a free and open-source grammar, style, and spell checker that can be run locally on your machine without sending data to a third-party services like Grammarly, preserving the privacy of ...
282
Ben Balter @ben.balter.com · 04/12/2024
I still have an irrational fear of @mentioning people in private Slack channels, ever since that one time that I @mentioned the CEO, accidentally clicked the wrong button, and ended up inviting him into the channel. At least he laughed at the creative channel name? 🤷‍♂️ Now I’m a backticks-only person.
360
Reposted by Ben Balter
Nicolò Ribaudo @nicr.dev · 23/11/2024
Developers, do you want to verify yourself here but don't have a personal domain? You can use your GitHub account! 🦋🐱 I temporarily renamed myself to @nicolo-ribaudo.github.io :)
Screenshot of my Bluesky profile, showing @nicolo-ribaudo.github.io as the handle
38895338
Reposted by Ben Balter
Ben Balter @ben.balter.com · 21/09/2018
Reorgs are the organizational equivalent of turning it off and back on again.
031
Reposted by Ben Balter
Ben Balter @ben.balter.com · 12/11/2015
Why everything should have a URL bit.ly/1MoMnQI
bit.ly
Why everything should have a URL
By naturally capturing and exposing process and sharing it as widely as is appropriate for the subject matter, URLs render organizational context time and location agnostic allowing knowledge to move more freely within an organization on an asynchronous, discoverable, and opt-in basis.
121
Ben Balter @ben.balter.com · 16/11/2024
10+ years later and I still don’t have an answer. ¯\_(ツ)_/¯
251
Reposted by Ben Balter
Ben Balter @ben.balter.com · 07/02/2014
Always be answering questions with URLs.
111
Reposted by Ben Balter
Ben Balter @ben.balter.com · 20/03/2014
If you liked it then you should have put a URL on it.
032
Reposted by Ben Balter
Ben Balter @ben.balter.com · 15/04/2014
Submitted a pull request to the closest thing GitHub has to an org chart. Merged or not, more companies should vet big changes in the open.
021
Ben Balter @ben.balter.com · 29/10/2024
If you’re at GitHub Universe, come say hey! 👋
2100
Ben Balter @ben.balter.com · 04/10/2023
Remote since day one, GitHub learned a lot about how to communicate across time zones. We created an internal “how we communicate” doc, which we’re sharing with the world today. TL;DR: we use GitHub Actions and OpenAI to solve for information overload. PR’s welcome! github.blog/2023-10-04-h...
041
Ben Balter @ben.balter.com · 04/08/2023
Remote work requires communicating more, less frequently, because async communication involves less frequent, but richer communication. There is less talking about the work and more doing it, allowing the system to optimize for throughput and flow. t.co/R3J5pCjUho
ben.balter.com
Remote work requires communicating more, less frequently
Remote work requires communicating more, less frequently, because asynchronous communication involves less frequent, but richer communication, meaning there is less time talking about the work and more time doing it, allowing the system to optimize for throughput and flow.
021
Ben Balter @ben.balter.com · 13/06/2023
Exactly 10 years ago today, I 🚢'd my first GitHub feature, GeoJSON rendering. The base layer has since moved from MapBox to Azure Maps, but the feature is still rendering more than 7 million maps a year across more than 27 million .geojson files. t.co/1NiPrgsW0o
github.blog
There's a map for that
Not long ago, we began rendering 3D models on GitHub. Today we’re excited to announce the latest addition to the visualization family – geographic data. Any .geojson file in a…
031
Ben Balter @ben.balter.com · 25/05/2023
Practice inclusive scheduling. When working as a distributed team, be mindful of cultural differences, time zones, encouraging breaks between meetings, and connecting as humans. ben.balter.com/2023/05/19/practice-…
ben.balter.com
Practice inclusive scheduling
When working as a distributed team, be mindful of cultural differences, time zones, encouraging breaks between meetings, and connecting as humans.
000
Ben Balter @ben.balter.com · 25/05/2023
Pull requests are a form of documentation. When authoring a PR, use the body as an opportunity to document the proposed change, especially the “why”, and cross link any related issues or other PRs to create a trail of breadcrumbs for future contributors. t.co/RrmuMZgR3A
ben.balter.com
Pull requests are a form of documentation
When authoring a pull request, use the body as an opportunity to document the proposed change, especially the “why”, and cross link any related issues or other PRs to create a trail of breadcrumbs for future contributors.
000
Ben Balter @ben.balter.com · 10/03/2023
I made a few updates to my "Intro to GitHub for non-technical roles" article. Glad it has been helpful. Please keep the questions and feedback coming. ben.balter.com/2023/03/02/github-fo…
ben.balter.com
Intro to GitHub for non-technical roles
GitHub isn’t just for software developers. If you’re in a non-technical role, you can use GitHub to follow along, collaborate with your team, track your work, and share information. This brief guide includes everything you need to know to get started confidently with GitHub.
000
Ben Balter @ben.balter.com · 03/03/2023
If you’re at a large(r) tech company that you joined when it was closer to a start up, what aspects of your organization’s culture or values do you wish you could purposefully preserve (or bring back)?
000
Ben Balter @ben.balter.com · 02/03/2023
GitHub isn’t just for software developers. If you work with or alongside software development teams, this brief guide includes everything that you need to know to get started confidently with GitHub. ben.balter.com/2023/03/02/github-fo…
ben.balter.com
Intro to GitHub for non-technical roles
GitHub isn’t just for software developers. If you’re in a non-technical role, you can use GitHub to follow along, collaborate with your team, track your work, and share information. This brief guide includes everything you need to know to get started confidently with GitHub.
000
Ben Balter @ben.balter.com · 07/02/2023
I’ve given the “life as a Hubber” onboarding talk for a year+ now. Each time I tell the story about how I adopted the “conjunction” y’all as a gender neutral reference to a group. 100s of Hubbers onboarded and not a single one pointed out that “y’all” is actually a contraction.😂
000
Ben Balter @ben.balter.com · 20/01/2023
Fish sticks are really having their moment.
000
Ben Balter @ben.balter.com · 10/01/2023
If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development? Make work visible. Write things down. Embrace collaboration. Manage like an engineer. ben.balter.com/2023/01/10/manage-li…
ben.balter.com
Manage like an engineer
If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development?
000
Ben Balter @ben.balter.com · 21/10/2022
Is there a good solution for ad/tracker blocking on mobile (for browser AND apps)? I use AdGuard at home (t.co/U04oSSZFjM), but I have different reasons for not trusting the two popular DNS filtering services, and running a wireguard split VPN eats 30%+ battery on iOS. 🤷‍♂️
ben.balter.com
How I re-over-engineered my home network for privacy and security
How I used Docker Compose, Ansible, and Caddy to re-over-engineer my UniFi Dream Machine, PiHole/AdGuard Home, and Cloudflare-based home network for ease of setup, maintenance, and management.
000
Ben Balter @ben.balter.com · 21/09/2022
If you work in or around a large organization, I can’t recommend @MarinaNitze and @NickSinai’s new book, “Hack Your Bureaucracy” enough. Just finished, and it’s the bureaucratic decoder ring for “getting things done” I wish I had when starting my career. t.co/SK3Ku4tjdb
000
Ben Balter @ben.balter.com · 01/07/2022
Today marks exactly one year for me as Chief of Staff for GitHub's Security team. To honor the occasion, I wrote a brief overview of how we use GitHub to secure GitHub, relying on Issues, Projects, and Actions, to power our planning and tracking organizational “operating system”. t.co/0j...
000
Ben Balter @ben.balter.com · 30/06/2022
If you maintain a Jekyll site, I wrote up a brief tutorial on how to use the Jekyll Sitemap plugin and a few lines of JavaScript to automatically have your 404 – not found page suggest similar (valid) URLs to the one requested. t.co/N69c57cRyT
ben.balter.com
Helpful 404s for Jekyll (and GitHub Pages)
How to implement 404 - not found pages for Jekyll and GitHub pages that automatically suggest similar URLs to the one requested based on your site’s sitemap.xml.
000
Ben Balter @ben.balter.com · 09/06/2022
At GitHub, we use GitHub to manage access to GitHub. Need access to that new service? Submit a pull request and your manager will review. Better yet, access can be driven by the org chart automatically. So excited to see Entitlements shared with the world. t.co/UMS1o5wJEP
github.blog
Introducing Entitlements: GitHub's open source Identity and Access Management solution
We're excited to announce that we're open sourcing our Identity and Access Management solution: Entitlements.
000
Ben Balter @ben.balter.com · 26/04/2022
I missed it when it was first published, but just as true today, @sm_debenedetto does a great job telling the story of their transition to remote work at GitHub and how they realized that *async* was the crucial ingredient to making remote work, well work. t.co/QTpRS7qrKU
000
Ben Balter @ben.balter.com · 17/03/2022
Why should your team work asynchronously? Async is the key to remote work. Inclusivity, better outcomes faster, opt-in shared context, space for learning, solving higher value problems, work-life balance, team distribution, and parallelization and flow. ben.balter.com/2022/03/17/why-async
ben.balter.com
Why you should work asynchronously
Asynchronous work allows for remote work that’s enjoyable and that actually works. Async increases inclusivity, produces better outcomes faster, encourages discoverability and permanence of context, creates space for learning, shifts knowledge workers to higher value work, improves work-life balance, empowers distributed teams, and enables parallelization and flow.
000
Ben Balter @ben.balter.com · 16/03/2022
Does anyone have any good, concise resources that make the case for why an individual, a team, or an organization should choose to work asynchronously? If not, what are your most persuasive motivations? What convinced you to prefer async? How do you show others its value?
000