Forget Defensive Programming: Make Illegal States ImpossibleStop sprinkling if-guards and start encoding your domain’s rules directly in the types. Why “Defensive Programming” Is a Leaky Shield When you wrap every public method in if-then checks, you’re treating symptoms, not the disease. Defensive guards: R...Apr 23, 2025·5 min read
Evolving in Two Dimensions: Interface Strategies for Real‑World Software(Expression Problem, Part 2)Apr 21, 2025·4 min read
What Causality Can Teach Us About Software CouplingMost developers are taught to look for patterns in data — but patterns don’t always tell the whole story. Correlation can mislead. The same applies to software systems: just because two modules interact doesn’t mean they’re meaningfully connected. In...Apr 18, 2025·3 min read