Posts on backend engineering — the language-agnostic patterns and decisions that define a great backend. API design, caching, queues, observability, system design tradeoffs, and the lessons that apply whether you write Python, Go, or anything else.
Kafka vs NATS vs RabbitMQ in 2026 — How to Pick a Message Broker
When to pick Kafka vs NATS vs RabbitMQ. Semantics, throughput numbers, ordering and persistence guarantees, operational cost, and a decision tree based on what you’re actually building.