The Outbox Pattern for Reliable Events
Every distributed system I have built in fintech eventually runs into the same uncomfortable question: how do you change your database and tell the rest of the...
Every distributed system I have built in fintech eventually runs into the same uncomfortable question: how do you change your database and tell the rest of the...
Every payments engineer eventually meets the same enemy: two requests that arrive at almost the same instant, both convinced they are operating on the truth. A...
Fraud detection is one of those problems that looks deceptively simple from the outside. Someone makes a payment, you decide whether it is legitimate, and you...
Every incident review I have ever sat through eventually arrives at the same uncomfortable question: what was the system actually doing at the moment it...
Every engineering leader remembers their first real production incident. Mine was a payment authorization gateway that started timing out at the worst possible...
Code review has been one of the quiet constants of software engineering for most of my career. The mechanics changed over the years, from emailed patches to...
Every distributed payments platform I have built eventually arrives at the same uncomfortable truth: messages get delivered more than once. Not occasionally,...
Every engineer who touches a payments system eventually runs into PCI DSS, usually at the worst possible moment: a few weeks before a deadline, when someone in...
Every quarter, someone asks me the same question in a slightly different costume. Sometimes it is a board member who wants a date for the new ledger...
Every payment platform I have run eventually develops a relationship with failure. Not the catastrophic kind that wakes you at three in the morning, but the...
Every engineering team I have led eventually reaches the same uncomfortable moment: a release is ready, the code is merged, and yet nobody is quite willing to...
Every payments company eventually runs into the same uncomfortable truth: the money you think you have and the money you actually have are two different...