Dependency Injection in .NET: Beyond the BasicsMost .NET developers know how to register a service and inject it into a constructor. Far fewer have thought carefully about service lifetimes, and that gap is where I've seen some of the more confusiAug 21, 2026·3 min read·11
Mentoring Junior Developers: What Actually Works?I've mentored developers on nearly every team I've led, and I've made most of the mistakes you can make while doing it. The biggest one, early on, was thinking mentorship meant having the answer readyAug 13, 2026·4 min read·31
GraphQL APIs in .NET: When It's Worth the ComplexityGraphQL gets pitched as a universal upgrade over REST, and I don't buy that framing. I've built both REST and GraphQL APIs in production, and the honest answer is that GraphQL solves specific problemsAug 12, 2026·3 min read·17
Designing RESTful APIs Developers Actually Enjoy UsingEvery API is a user interface. The users just happen to be developers instead of end customers, and that distinction gets forgotten more often than it should. I've integrated more third-party APIs thaAug 10, 2026·4 min read·27
Observability in .NET Microservices: Seeing What's Actually HappeningThe hardest incidents I've dealt with weren't the ones with obvious causes. They were the ones where a request slowed down somewhere across four or five services, and nobody could say exactly where, bAug 7, 2026·5 min read·23
Clean Architecture in ASP.NET Core: Why I Stopped Fighting ItEarly in my career, I built systems the way most of us do when we're starting out: controllers talking directly to the database, business logic scattered across services, view models doubling as domaiAug 6, 2026·5 min read·7
EF Core Performance Tuning: What Actually Moves the Needle in ProductionEntity Framework Core makes it easy to get an application working. It does not automatically make that application fast. I've spent a good chunk of my career optimizing systems where the biggest perfoAug 5, 2026·5 min read·14