I’ve spent way too much time in arguments about types. Not the productive kind where you walk away with a new insight, but the frustrating ones where two developers talk past each other because they’re using the same words for completely different ideas. One person insists they need “type safety,” but what they really want …
I’ve spent a lot of time in codebases where the word “type-safe” gets thrown around like a badge of honor. Teams will proudly announce they’ve migrated to TypeScript, or that they’re using strict validation schemas, or that their new library is “fully typed.” But when you actually dig into the code, you find something else: …
What We Actually Mean When We Talk About Types Every developer has been stuck in a room where the word “type safety” gets thrown around like a grenade. One person is talking about runtime crashes. Another is fixated on compile-time checks. A third just wants to know why shipping a simple feature takes three days. …
I’ve spent way too many hours arguing about types. Not the fun kind—where you geek out over a clever union type or a particularly elegant generic constraint. I’m talking about those draining, circular debates where someone mashes together two completely different ideas: type safety and type convenience. They sound related. They both have “type” in …
I’ve spent years bouncing between codebases that treat types like holy scripture and ones where they’re barely a suggestion. The debate over type safety versus type convenience usually gets framed as a binary choice: you’re either in the strict typing camp or you’re not. That’s a lazy way to look at it. The actual question …
I’ve watched teams treat observability like a scavenger hunt. They instrument every function, log every variable, and ship metrics for things nobody will ever look at. The end result? A system that’s technically observable but practically a mess. You get dashboards that look slick in a demo but leave you squinting at a screen at …