Building from zero, twice
2022.227What it takes to build a remote engineering center -- and what stays the same when you do it again at a tenth of the scale.
What it takes to build a remote engineering center -- and what stays the same when you do it again at a tenth of the scale.
The debate ended when the PM pulled up a graph.
Streaming replication, automated failover, and the operational lessons that aren't in the PostgreSQL docs -- split-brain, silent lag, and why DR drills matter more than DR plans.
The first migration had a platform on fire. The second has one that works. That is the harder one.
The board put us ahead of every customer ticket - until it stayed green while the data underneath it went wrong.
Autoscale never helped in the time of crisis. What helped was prescaling -- capacity ready before the traffic arrives.
Service discovery, health checks, and dynamic config across a growing fleet of microservices -- and the moment KV store got too popular.
How a growing team adopted Go -- not through boot camps, but through code review, shadowing, and a compiler that wouldn't let anyone be sloppy.
Transaction pooling, one SET that didn't stick, and a standup that moved on.
The checklist is the same as last year. That's the point.
A GraphQL gateway that started as a unified API layer for clients became the place where we could intervene without touching the backends.
The prep runs out ninety minutes in. The rest is improvised on a floor where nobody leaves.
I've built a rules engine twice, in two languages, at two scales. The tree is the same.
What a digital wallet looks like underneath -- a balance, a ledger, idempotency keys, and the gap between moving money and moving money correctly.
A rules engine that answers yes or no during checkout, with condition trees built by people who don't code.
We wired physical lights to 5xx alerts. It changed how the team reacts to production issues.
Algorithm selection, passive health checking, per-endpoint rate limiting, and upstream timing -- the decisions that matter when Nginx sits in front of production traffic.
Picking the first piece to cut from a Perl monolith, rewriting it in Go, and switching over before you lose your nerve.
Migrating a payment processing API from Node.js to Go -- what changed, what improved, and what we gave up.
What a codebase looks like when two people build everything -- 350 commits, and a todo list with two items.