Write .NET code that scales.
20 years of C#/.NET in production — world-class healthcare companies, national-scale real estate platforms, high-volume microservices. The patterns here are the ones that actually held up. No toy examples. Just what works at scale.
Shipping production C#/.NET — from world-class healthcare companies to national-scale real estate platforms. Sharing what I wish someone had shown me earlier.
Dependency Injection in ASP.NET Core — Stop Using new
Learn why experienced C# developers avoid using new in their
constructors and how dependency injection makes your code testable, flexible, and professional.
If your controller creates its own dependencies, your tests must too — including real database connections.
A test that should take 50ms now takes 2 seconds and fails if the database is offline.
Building Professional WebAPI Controllers
The Professor could build a radio from a coconut, but even he knew a bloated controller is an island unto itself — stranded, untestable, and unreachable by the rescue ship of clean architecture.
05When the CRUD Hits the Fan: Building Resilient WebAPI Controllers
Your controller passed every code review. Then Black Friday hit, the payment API went down, and your perfect controller took the entire platform with it. Resilience isn't a feature — it's the difference between degraded and dead.
06Exception Handling That Survives Production
The Skipper's exception handling strategy was simple: when something goes wrong, throw it overboard and hope for the best. Your production API doesn't get three seasons to figure it out.
07Unit Testing with NSubstitute — Tests That Survive Refactoring
The Professor could build a radio from a coconut, but his tests checked which coconut was used instead of whether the radio worked. Your test suite makes the same mistake — and 47 tests break every time you refactor.
08Async/Await — Don't Block Your Threads
Gilligan called .Result on the Professor's async radio and blocked
the entire island. Your API does the same thing — and the thread pool exhaustion
only shows up when production traffic hits.
new
Backend
Live
12 min
02
Configuration Management That Won't Get You Fired
Backend
Live
8 min
03
Be the Architect, Not the Typist
AI
Live
15 min
04
Building Professional WebAPI Controllers
Backend
Live
10 min
05
When the CRUD Hits the Fan: Building Resilient WebAPI Controllers
Backend
Live
14 min
06
Exception Handling That Survives Production
Backend
Live
15 min
07
Unit Testing with NSubstitute — Tests That Survive Refactoring
Testing
Live
14 min
08
Async/Await — Don't Block Your Threads
Backend
Live
16 min