Posts
All the articles I've posted.
-
A Queue Moves Work. A Bus Announces Facts.
I run an SQS queue and an EventBridge bus in the same system, and they are not interchangeable. One carries work that must get done. The other carries things that already happened. Here is why I kept them separate, and what it cost me.
-
Simplicity Is Harder Than It Looks
A personal reflection on why I keep overengineering my own productivity system, and how the same temptation shows up in software engineering. Sometimes the best system is simply the one that gets out of your way.
-
Your Queue Will Deliver That Message Twice. Be Ready.
A three-layer approach to idempotent message processing in Go, using content-derived keys, conditional writes, and short-circuit logic to handle duplicate deliveries without wasting compute.
-
Not Every Error Deserves a Retry: Permanent vs. Transient Failures in Event-Driven Systems
How to distinguish permanent from transient errors in an SQS-based system, route poison messages to a dead-letter queue early, and keep the rest of your batch processing smoothly. A practical walkthrough in Go.