Join 73,000+ subscribers accelerating their skills every week
One practical tip every Saturday
.NET best practices and actionable advice
Software Architecture deep dives and fresh ideas








Join thousands of software engineers

Previous issues of The .NET Weekly

API Versioning Should Be Your Last Resort
May 9, 2026
Most teams reach for v2 too early because they don't have a contract evolution strategy. Here's the API change management approach I prefer: evolve co...

What Invariants Are (and Why a Domain Model Is the Best Place to Enforce Them)
May 2, 2026
Most 'DDD-ish' code I review enforces business rules everywhere except where it should: in the model itself. The same rule ends up duplicated across h...

The Test Pyramid Is a Lie (and What I Do Instead)
April 25, 2026
The test pyramid made sense when integration tests meant a shared database server and a 20-minute build. It doesn't match how I build .NET systems in ...

Why I Switched to Primary Constructors for DI in C#
April 18, 2026
I resisted primary constructors for a while. They felt like a shortcut that would cost me later. But after using them across several projects, I'm sol...

Implementing the Saga Pattern With Wolverine
April 11, 2026
Long-running business processes don't fit neatly into a single request. Wolverine's Saga support gives you a convention-based approach to orchestratin...

Implementing the Inbox Pattern for Reliable Message Consumption
April 04, 2026
The Outbox pattern guarantees reliable publishing. But what about the consumer side? The Inbox pattern ensures each incoming message is processed exac...

Getting Started With PgVector in .NET for Simple Vector Search
March 28, 2026
Vector search doesn't require a dedicated vector database. PostgreSQL with pgvector gives you similarity search right next to your relational data. He...

Scaling SignalR With a Redis Backplane
March 21, 2026
SignalR connections are server-local. Scale out to multiple instances and messages stop reaching the right clients. Here's how the Redis backplane fix...

Optimizing Bulk Database Updates in .NET: From Naive to Lightning-Fast
March 14, 2026
Seven approaches to bulk-updating rows in PostgreSQL from .NET using Dapper and EF Core, from naive per-row updates to binary COPY. Each step cuts dow...

5 Architecture Tests You Should Add to Your .NET Projects
March 07, 2026
Learn about five essential architecture tests that can help ensure the quality and maintainability of your .NET projects.
Subscribe to the Newsletter
Join 73,000+ readers of The .NET Weekly for practical tips and resources to improve your .NET and software architecture skills.