Will Larson's Blog, page 2
May 3, 2025
How to filter out old email from inbox
Every few years I take a pass at reducing the chaos in mypersonal inboxes. There are simply too many emails to deal with,and that generally leads to me increasingly failing to follow up on important email.
Up to this point, my strategy has largely been filtering out emails that Inever want to read. But there’s another category of email which is stuffI often want to read when it’s fresh, but never want to read after it’s fresh.For example, calendar reminders, some mailing lists, some news le...
April 24, 2025
How should Stripe deprecate APIs? (~2016)
While Stripe is a widely admired company for things like itscreation of the Sorbet typer project, I personallythink that Stripe’s most interesting strategy work is also among its most subtle:its willingness to significantly prioritize API stability.
This strategy is almost invisible externally.Internally, discussions around it were frequent and detailed, but mostly confined to dedicated API design conversations.API stability isn’t just a technical design quirk, it’s a foundational decision ...
April 22, 2025
library-mcp: working with Markdown knowledge bases
At work, we’ve been building agentic workflows to support our internal Deliveryteam on various accounting, cash reconciliation, and operational tasks.To better guide that project, I wrote my own simple workflow toolas a learning project in January.Since then, the Model Context Protocol (MCP)has become a prominent solution for writing tools for agents, and I decided to spend sometime writing an MCP server over the weekend to build a better intuition.
The output of that project is library-mc...
April 20, 2025
Refreshed StaffEng.com and a few other sites
Ahead of announcing the title and publisher ofmy thus-far-untitled book on engineering strategyin the next week or two, I put together a website for its content.That site is pretty much the same format as this blog,but with some improvements like better mobile rendering on / than this blog has historically had.
After finishing that work, I ported the improvements back to lethain.com, but alsodecided to bring them to staffeng.com.That was slightly trickier because, unlike this blog, StaffEn...
April 17, 2025
Why did Stripe build Sorbet? (~2017)
Many hypergrowth companies of the 2010s battled increasing complexity intheir codebase by decomposing their monoliths.Stripe was somewhat of an exception, largely delaying decomposition untilit had grown beyond three thousand engineers and had accumulated a decade of development in its core Ruby monolith.Even now, significant portions of their product aremaintained in the monolithic repository, and it’s safe to say this was only possiblebecause of Sorbet’s impact.
Sorbet is a custom static...
Why did Stripe build Sorbet? (~2017).
Many hypergrowth companies of the 2010s battled increasing complexity intheir codebase by decomposing their monoliths.Stripe was somewhat of an exception, largely delaying decomposition untilit had grown beyond three thousand engineers and had accumulated a decade of development in its core Ruby monolith.Even now, significant portions of their product aremaintained in the monolithic repository, and it’s safe to say this was only possiblebecause of Sorbet’s impact.
Sorbet is a custom static...
April 10, 2025
How to get better at strategy?
One of the most memorable quotes in Arthur Miller’s The Death of a Salesmancomes from Uncle Ben, who describes his path to becoming wealthy as,“When I was seventeen, I walked into the jungle, and when I was twenty-one I walked out. And by God I was rich.”I wish I could describe the path to learning engineering strategy in similar terms,but by all accounts it’s a much slower path. Two decades in, I am still learningmore from each project I work on.This book has aimed to accelerate your lear...
Wardley mapping the service orchestration ecosystem (2014).
In Uber’s 2014 service migration strategy,we explore how to navigate the move from a Python monolith to a services-orientedarchitecture while also scaling with user traffic that doubled every six months.
This Wardley map explores how orchestration frameworks were evolvingduring that period, to be used as an input into determining the most effective path forwardfor Uber’s Infrastructure Engineering team.
This is an exploratory, draft chapter for a book on engineering strategy that I’m brains...
April 6, 2025
Making images consistent for book.
TODO: fix TODOs below
After working on diversifying strategies I linked as examplesin #eng-strategy-book,the next problem I wanted to start working on was consistent visualappearances across all images included in the book.There are quite a few images, so I wanted to started by creating a toolto make a static HTML page of all included images, to facilitate reviewingall the images at once.
To write the script, I decided to write a short prompt describing the prompt,followed by paste in the...
Script for consistent linking within book.
As part of my work on #eng-strategy-book, I’ve been editing a bunch of stuff.This morning I wanted to work on two editing problems.First, I wanted to ensure I was referencing strategies evenly across chapters (and not relying too heavily onany given strategy).Second, I wanted to make sure I was making references to other chapters in a consistent, standardized way,
Both of these are collecting Markdown links from files, grouping those links by either file or url,and then outputting the group...