Unlearn fasterWhen I started engineering seriously, I carried a lot of "correct" patterns in my head. Microservices were the gold standard, so the real-world project I led the development on had to be microservicesMar 3, 2026·2 min read
Your website has a carbon footprint too.Every page load burns electricity — servers, networks, your user's device. That electricity usually comes from fossil fuels. An average webpage generates ~0.5g of CO2 per visit. Multiply by trillions Jun 1, 2025·3 min read
Version control your motivationLook, I’m not going to pretend like I’ve cracked the code to productivity or motivation. I’ve abandoned more projects than I’ve finished - ideas that started with excitement and died somewhere between “this is going to be epic” and “meh, I’ll get aro...May 27, 2025·3 min read
Reducing blast radius when designing APIsI’ve been designing APIs for almost a decade now and one of the things that I frequently see developers get wrong is with designing APIs that are stiff and tightly coupled to their clients. Modern software demands velocity: new features, experiments,...Apr 29, 2025·5 min read
Your users aren't IP addresses.Let’s get this out of the way first: I’m not saying IP-based rate limiting is bad. Sometimes it’s the only thing you can. But if you’re still defaulting to IPs every time without thinking twice, you’re doing your users and yourself a disservice. Ther...Mar 11, 2025·3 min read
Auth is a product, not a feature.Rolling your own auth is difficult, but let's try anywaysFeb 23, 2025·5 min read
Don't be a ticket engineer.Imagine one day, you’re scrolling through your Jira tickets, and the latest ones are marked as resolved by AI. Why wouldn’t it be? If it had access to the code, understands the requirements, and has been trained on previous human input, it’s perfectl...Jan 19, 2025·5 min read