Backend
10 articles · all categories
August 2025
Quick tips for distributed event-based systems
Hidden lessons painfully learned over the years.
February 2025
I was wrong about databases
The best part about writing is that you get to learn new and exciting ways you were wrong. Databases are smarter than I thought!
*Why* the relational data model is so good
You've heard that array or list columns in a database are bad. But why? Yesterday it clicked for me
January 2025
Why you need a task queue
Task queues have been on my mind lately so here's a little primer on what they are, how they work, and why you need them when your project starts to grow.
October 2022
Why PATCH endpoints matter
A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.
June 2022
You are allowed to invent HTTP status codes
A fun problem for RESTful APIs: Did you get 404 because your URL is wrong or because the resource wasn't found?
May 2022
What microservices are for
Microservices are a pain in the ass. They turn every system into a byzantine mess of complexity. But this week ... they saved my butt.
April 2022
Promise.allSettled, a wonderful tool for resilient code
The pros and cons of different approaches to writing resilient code that handles partial failures
November 2021
Better tooling won't fix your API
RESTful APIs are like Agile – everyone does it differently and if it isn't working, it's your fault for doing it wrong. 🤨
October 2021
How to configure Jest with TypeScript
Using plain Jest on a TypeScript codebase is kinda rough. No types in tests no thanks. Making Jest and TypeScript work together smoothly is something you do just rarely enough to forget the details. Hope this helps you and future me too ✌️