Blog & insights.
Writing from our founder, Anselm Fowel — on fintech, engineering leadership, product craft, and building at scale. Articles live on anselmfowel.com and stream in here as they are published.
Designing a Ledger-Backed Wallet System
The first wallet system I inherited stored balances as a single column on the user row. A background job updated it. When two payments landed in the same 200...
Read articleUrgent vs Important on an Engineering Team
A few years ago I kept a spreadsheet of everything my team shipped in a quarter, and then I ran a quiet little experiment. Next to each item I wrote two...
Read article
Database Transactions and Isolation Levels, Explained
A few years ago we shipped a payment reconciliation job that, under load, occasionally credited a merchant twice for the same settlement. Not often. Maybe one...
Read articleBuilding an On-Call Rotation That Does Not Burn People Out
The pager went off at 3:42 on a Tuesday morning. A payment reconciliation job had stalled, and the alert routed to an engineer who had been on call for eleven...
Read articleHow We Run Blue-Green Deployments
The first time I ran a blue-green deployment in anger, it was 6:40 on a Friday evening and the payment authorization service had been down for eleven minutes....
Read article
How to Let Someone Go With Dignity
The first person I ever let go, I did badly. It was 2011, I was a newly minted team lead, and I had rehearsed the meeting so many times in my head that when he...
Read articleThe Case for Boring Technology in Fintech
A few years ago I sat in a postmortem for an outage that cost us most of a business day of failed settlements. The root cause was not a bug in anything we had...
Read articleThe Two-Pizza Team Rule, Revisited
The first time I heard the two-pizza rule quoted back to me in a planning meeting, it was being used to justify keeping a team at four people while they owned...
Read article
Building a Rules Engine You Can Actually Maintain
The worst rules engine I ever inherited had 1,847 rules in a single database table, evaluated top to bottom, and the order they ran in was determined by the...
Read article