Most people, when confronted with something they don't understand, reach for a tutorial. Thorsten Ball reached for a blank text file, typed package main, and started building. That instinct - learn by doing, then teach by writing - turned him into one of the most respected technical educators in the Go community and beyond.
Ball is a software engineer based in Großwallstadt, Bavaria, a small town in Germany with roughly 6,000 residents and at least one person who thinks deeply about register allocation. He has been writing professional software for over two decades, working his way through Ruby, JavaScript, Go, and C - not as language tourism but as the natural vocabulary of different problems. His career arc moved from early startup work at Flinc, a ride-sharing company in Darmstadt, through five years at Sourcegraph, a stint at Zed, and back to Sourcegraph again. Each stop left visible marks on open-source repositories and on the people who worked alongside him.
What separates Ball from the average prolific engineer is that he writes. Not documentation. Not internal READMEs. Real writing - the kind that makes you feel like someone is sitting across a table explaining something they genuinely find delightful. His blog has been active since 2012. His newsletter, Register Spill, launched in April 2023 and has become a weekly fixture for engineers who want more signal and less noise in their reading diet. The name is a CPU term: when a processor runs out of registers to hold values, the overflow spills into memory. It is, as metaphors go, exactly right for a man whose thoughts on systems programming reliably exceed whatever container he starts with.
"Writing a book is the best way to learn something deeply - you can't hide from the gaps in your knowledge."
- Thorsten Ball
The two books that made his name - Writing an Interpreter in Go (2016) and Writing a Compiler in Go (2018) - arrived at exactly the right moment. Go was becoming a serious production language. Developers wanted to understand it at a deeper level. And the gap between "I know how to use a language" and "I understand how a language is built" felt impossibly wide. Ball closed that gap with a fictional language called Monkey and a writing style that trusts the reader to keep up. No hand-holding. No condescension. Just: here's the code, here's why it works, here's what happens when it doesn't. The books are self-published, which means Ball controls everything - the pace, the tone, the decision to skip the parts that would add pages but remove clarity.
These are not textbooks. They are more like technical dispatches from someone who has just figured something out and cannot wait to explain it. That quality - the excitement of recent discovery preserved in prose - is what keeps developers recommending them years after publication.
Career
From Startups to Systems, From Vim to Zed
Ball's time at Sourcegraph - his first stint, spanning roughly five years - was spent on the Batch Changes team, a product that automates large-scale code modifications across entire repositories. It is infrastructure work, the kind that companies pay for precisely because it saves engineering hours at scale. He did it well enough that it became a meaningful revenue line. Then, at the end of 2023, he left for Zed.
Zed is a code editor - fast, minimalist, and built in Rust. It was also, at the time Ball joined, trying to become the editor that serious engineers would reach for when VS Code felt too heavy and Vim felt too unforgiving. Ball merged approximately 500 pull requests during his year there, working on Predictive Edits, inline completions, and Vim mode. That last item has a particular irony: Ball is a longtime Vim devotee, one of those engineers who treats keybindings as muscle memory and configuration files as art. Working on a Vim implementation for a non-Vim editor meant he knew exactly where the sharp edges were.
In January 2025, he returned to Sourcegraph to work on Amp, an AI-powered coding agent. The timing is not accidental. The question of what AI-assisted software development actually looks like - what it can do, what it cannot, where human judgment remains irreplaceable - is precisely the kind of problem Ball gravitates toward. He has been characteristically direct about the state of AI coding tools, publishing essays that cut through the hype to ask what is actually happening under the hood.
"I basically want my whole computing environment to be programmable."
- Thorsten Ball, in a Sourcegraph interview
That statement, simple as it sounds, is the key to understanding how Ball thinks. He is not chasing novelty. He is not interested in tools for tools' sake. He wants environments that bend to his will - that can be extended, automated, and made to behave like he thinks rather than like whoever wrote the defaults thought. It is the disposition of someone who has spent 20 years noticing the gap between how software works and how it could work, and who refuses to treat that gap as someone else's problem.
Writing & Community
Register Spill: Overflow Thoughts from a Systems Mind
The newsletter launched in April 2023 and settled into a rhythm that suits Ball's writing style - weekly, informal, dense with actual thought. A recurring feature called "Joy and Curiosity" collects links and observations the way a good editor would: with a clear point of view about what matters. Ball does not summarize the internet. He filters it through a specific sensibility - systems-first, skeptical of hype, interested in the mechanics beneath the surface of whatever everyone else is talking about.
His blog at thorstenball.com has accumulated posts since 2012, including a widely read piece on his first ten years as a professional programmer. That essay is a rare thing: a technical retrospective that is also honest about uncertainty, about the things you learn by making mistakes that could have been avoided, and about the things that can only be learned by making them. It has the quality of advice from someone who is not selling anything.
Ball has appeared on a remarkable number of podcasts: Go Time, CoRecursive, Changelog, Software Unscripted, Latent Space, Hanselminutes, The Tuple Podcast. He talks the way he writes - direct, curious, willing to say what he actually thinks rather than what the audience might want to hear. The CoRecursive episode on compilers and the Changelog interview on AI agents are particularly representative of how he approaches hard technical questions: not with false confidence, but with visible interest in getting the answer right.
He has given talks at developer conferences across Europe - ArrrrCamp in Belgium, wroc_love.rb in Poland, Elixir RheinMain, the Frankfurt Gophers meetup, and more recently the Homebrew Systems Club in Munich. The range tells you something: he is not a specialist who stays in one lane. He follows problems where they lead, whether that's Unix process magic, Elixir macros, Brainfuck virtual machines, or AI coding agents.