Scaling Microservices Without Losing Your Mind
Practical lessons from scaling a platform from 10 to 200+ microservices, covering patterns that worked, anti-patterns we discovered, and organizational changes that made it possible.
The Lab
Experiments with real data, honest tool verdicts, and the strategy decisions behind them. Each post documents what I tried, what worked, and what I'd do differently.
Practical lessons from scaling a platform from 10 to 200+ microservices, covering patterns that worked, anti-patterns we discovered, and organizational changes that made it possible.
TALK
Practical lessons from scaling a platform from 10 to 200+ microservices, covering patterns that worked, anti-patterns we discovered, and organizational changes that made it possible.
EXPERIMENT
Practical insights on building effective incident response processes, reducing MTTR, and creating a sustainable on-call culture.
EXPERIMENT
After running an event-sourced system in production for 2 years, here are the lessons I learned about when event sourcing is worth the complexity and when it's not.
TALK
After implementing event sourcing in three production systems over five years, I share what actually works, what doesn't, and when you should (and shouldn't) reach for this pattern.
EXPERIMENT
A framework for quantifying, prioritizing, and communicating technical debt to stakeholders in terms they understand.
EXPERIMENT
How to evolve your database schema without taking your application offline, with real examples from PostgreSQL migrations.
EXPERIMENT
A practical guide to building APIs that gracefully handle failures, with real-world examples from production systems.
EXPERIMENT
A decision framework for choosing between microservices and monolithic architecture, based on team size, domain complexity, and organizational factors.
EXPERIMENT
How to transform code reviews from a bottleneck into a tool for knowledge sharing, quality improvement, and team growth.
EXPERIMENT
A practical guide to implementing observability that actually helps you understand and debug production systems.
EXPERIMENT
How to build a testing strategy that catches bugs without slowing you down, based on years of trial and error.
EXPERIMENT
A practical comparison of API versioning approaches with recommendations based on real-world experience.
TALK
A candid conversation about the transition from individual contributor to technical leadership—the skills that transfer, the ones you need to develop, and common mistakes new tech leads make.
TALK
A hands-on workshop where participants design, review, and iterate on API designs. Covers versioning strategies, error handling patterns, and building APIs developers actually want to use.
DECISION
Adoption of remote-first team structure where all collaboration assumes remote participation to ensure equitable experience and access to global talent.
TALK
A practical look at testing strategies that balance confidence with development speed—when to write unit tests vs integration tests, and patterns for testing distributed systems.
DECISION
Migration from synchronous order processing to event-driven architecture using Apache Kafka to decouple services, improve resilience, and enable scalability.
DECISION
Decision to adopt TypeScript as the standard for all new backend services to improve type safety, catch bugs at compile time, and enhance developer experience.
TALK
How to build an incident response culture that learns from failures instead of assigning blame. Practical frameworks for running effective postmortems and creating lasting improvements.
DECISION
Implementation of feature flags using LaunchDarkly to enable safer deployments, gradual rollouts, instant kill switches, and A/B testing capabilities.
DECISION
Consolidation of 30+ microservices into a monorepo using Nx to simplify coordination, improve code sharing, and accelerate cross-service refactoring.
DECISION
Selection of PostgreSQL for a new subscription service to provide ACID transactions, relational data modeling, and strong consistency guarantees for billing operations.
Get in touch
That's the job I do. Tell me what you're building and where the measurement breaks down.