Why performance isn't always the north star
I spend a lot of time thinking about performance. I use Cap'n Proto over Protobuf because parsing overhead
What it actually means to be a senior engineer
Nobody told me what the job actually was when I became a senior engineer. I assumed it was mostly about
Go generics in practice: what they're actually good for
Go generics landed in 1.18 and the community spent about six months either overclaiming or dismissing them. The reality
Cap'n Proto vs Protobuf: why we switched
We'd been using Protobuf for years. It worked. Nobody complained. Then we started hitting the edges: schema migrations
Apache Kafka: How It Actually Works
Most people encounter Kafka through job postings or architecture diagrams where it sits between everything. Someone always calls it a
Ring Buffers vs. Double-Ended Linked Lists
Not every data structure decision needs a framework. Sometimes it's just: do I need a fixed-size, cache-friendly loop,
Saga pattern
Saga Pattern
When dealing with distributed transactions, consistency is key. In the world of microservices, the Saga pattern emerges as
WebSocket in Go
WebSocket Magic in Go
For those seeking to harness the power of WebSockets in Go, the "github.com/gorilla/
WebSockets
When we first needed real-time updates in our app, we did what most teams do — we polled. Every two seconds,
Story of our Kafka message loss
Background
About a month after we went live with our first Kafka-heavy design in Shopee, we were notified of missing