Writing
Essays on the systems behind modern money
Long-form writing on engineering leadership, payment infrastructure, distributed systems, and the craft of building software people trust.
Build for Failure
The processor will time out. The bank will go down at midnight. The webhook will arrive twice. Reliable payment systems aren't the ones that avoid failure. They are the ones designed to expect it.
Three Patterns That Keep Fintech Systems Honest
ACID transactions, debit-before-value, and a proper ledger. The three technical patterns every engineer building financial software must internalize, with the code, the failure cases, and the tests to prove them.
Managing Backward Compatibility in Financial APIs
Breaking APIs is easy. Building them to evolve gracefully is where it gets interesting. A multi-layered feature flag approach for changing payment systems under your customers' feet, without them ever noticing.
The Global Language of Business
You don't need to be a programmer to understand APIs. You need one good analogy. How the invisible connections between software systems became the most important business tool in African tech.
Every Millisecond Counts
In the time it takes you to blink, dozens of payments have succeeded or failed. Understanding latency in payment systems, where it hides, how to measure it honestly, and why your system is only as good as its slowest transaction.
From the archive
Tutorials from my earliest years of writing in public, preserved as part of the record, imperfections and all. Every engineering voice starts somewhere.