architecture The Dead Letter Queue Pattern: Why Nobody Ever Looks Inside It josedacruz, September 18, 2026September 18, 2026 TL;DR: A dead letter queue (DLQ) is just a holding pen for messages your system tried to process and failed. It’s not a fix by itself — it just moves the failure somewhere quieter. Whether you actually need one depends on how much it costs you to lose a message… Continue Reading
architecture Brooks’s Law: Why Adding Developers to a Late Project Makes It Later josedacruz, September 17, 2026September 17, 2026 TL;DR: Fred Brooks’s famous rule says that adding people to a late software project usually makes it later, not sooner. New hires need time and attention from the very people already doing the work, and every extra person adds more communication paths to manage. If a project is behind, cutting… Continue Reading
architecture Top 10 Trending GitHub Repos This Week (September 9 – September 15, 2026) josedacruz, September 17, 2026September 17, 2026 TL;DR: This week’s trending list is dominated by AI-agent tooling — skills, harnesses, and CLI utilities built specifically to make Claude Code, Codex, Cursor, and similar coding agents faster, less wasteful, and less prone to over-engineering. Four of the ten repos are JavaScript-based, and several are direct responses to pain… Continue Reading
architecture Designing a Real-Time Leaderboard: Why Sorted Sets Beat a SQL ORDER BY at Scale josedacruz, September 16, 2026September 16, 2026 TL;DR: A leaderboard looks like a simple feature — sort some scores, show the top N — but a plain SQL table falls over once you have millions of players updating scores in real time. The fix isn’t a bigger database, it’s a different data structure: a sorted set (like… Continue Reading
architecture The Saga Pattern: How to Undo a Transaction That Spans Five Services josedacruz, September 16, 2026September 16, 2026 TL;DR: A saga is how you handle a “transaction” that spans multiple services, since you can’t wrap them all in one database commit. Instead of one atomic rollback, you run a chain of local steps and, if something downstream fails, you undo the earlier steps with separate “compensating” actions. It’s… Continue Reading
architecture Designing a Webhook Delivery System: Why Your Retries Need an Idempotency Key josedacruz, September 13, 2026September 13, 2026 TL;DR: A webhook is just an HTTP POST your system sends to someone else’s server when something happens, but “just an HTTP POST” hides a lot of hard problems. Networks drop packets, receivers time out, and retries create duplicates — so a webhook delivery system that actually works needs retries… Continue Reading
architecture Designing a Distributed Counter: Why Global Counts Don’t Scale josedacruz, September 10, 2026September 10, 2026 TL;DR: A single database row that stores a count (likes, views, votes) works fine until enough people hit it at once — then it becomes a bottleneck that slows down or breaks your whole app. The fix isn’t a bigger database, it’s splitting the count into several pieces that get… Continue Reading
architecture The Bikeshed Effect: Why Your Team Argues More Over the Logging Library Than the Database Schema josedacruz, September 5, 2026September 5, 2026 TL;DR: Teams often spend more time debating small, easy-to-understand decisions (like which logging library to use) than big, complex ones (like a new database schema). This is called bikeshedding, and it happens because trivial topics are easy for everyone to have an opinion on, while complex ones are intimidating. The… Continue Reading
architecture The Tragedy of the Commons: Why Your Shared Staging Environment Always Breaks josedacruz, September 2, 2026September 2, 2026 TL;DR: A shared staging environment breaks for the same reason an overgrazed field turns to dust: everyone benefits from using it a little carelessly, but nobody personally pays for the mess they leave behind. The fix isn’t asking people to be more responsible — it’s changing the setup so carelessness… Continue Reading
architecture Designing a Distributed Job Scheduler: Why “Just Use Cron” Doesn’t Scale josedacruz, August 26, 2026August 26, 2026 TL;DR: A single cron job looks simple until the server it lives on goes down, and “just add a second cron server” quietly turns into a duplicate-execution bug. A real distributed job scheduler needs a shared source of truth for what’s due, a way for exactly one worker to claim… Continue Reading