Category: Engineering Decisions
Azure AI Cost Optimization: Where the Money Actually Goes in Production
The Azure OpenAI bill surprises most teams. Not because of the obvious costs — but because of the ones nobody documented.
Event-Driven Architecture with Kafka: What the Tutorials Don’t Tell You
Kafka tutorials show the happy path. This is the other one — the production failures, the trade-offs, and the honest answer to when you shouldn’t use Kafka at all.
How I Debug Distributed Systems Without Losing My Mind
Distributed systems fail in ways that are hard to reproduce and harder to explain. Here’s the debugging workflow I’ve built from years of production incidents — no tools survey, just what actually works.
Why I Stopped Trusting ORMs for Complex Queries
Entity Framework is the default. It’s also the source of most database performance fires I’ve debugged. Here’s when the ORM loses and what I reach for instead.
API Versioning in Production: What Nobody Tells You About Breaking Changes
API versioning sounds solved until you break a consumer in production. Here’s what actually matters when you manage versions at scale.
Why I Chose Simplicity Over Engineering at Banking Scale
Every architecture decision I’ve regretted had the same root cause: complexity I didn’t need. This is what I learned building backend systems at a Canadian development bank.
How I Structure .NET Solutions for Long-Term Maintainability
he .NET solution structure decisions you make on day one don’t hurt on day one. They start hurting around month six. Here’s what I enforce on every project.
Message Queues Production: Why They’re Not a Silver Bullet
Adding a message queue feels like a safe architectural choice. Here’s why it’s not a default — and what the tutorials don’t tell you about running them in production.