Improve Your .NET
& Software Architecture

Join 70,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

Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture
Profile picture

Join thousands of software engineers

Previous issues of The .NET Weekly

A Practical Demo of Zero-Downtime Migrations Using Password Hashing

January 24, 2026

A practical demo of the zero-downtime migration pattern: run old + new password hash formats side-by-side, migrate users on login, and remove legacy s...

Solving the Distributed Cache Invalidation Problem with Redis and HybridCache

January 17, 2026

Learn how to solve the distributed cache invalidation problem in .NET 9 by implementing a Redis Pub/Sub backplane to synchronize HybridCache instances...

Solving Message Ordering from First Principles

January 10, 2026

Per-aggregate ordering is what we really want. But queues with competing consumers make it surprisingly easy to break. This article shows how the “fix...

The Urge to Build Something

January 03, 2026

Looking at my contribution graph now, I can see the whole journey mapped out in squares of green. The startup dreams. The pivot to teaching. The thous...

How to Build a High-Performance Cache Without External Libraries

December 27, 2025

Learn how to build a high-performance cache from scratch in .NET, moving from a simple ConcurrentDictionary to an optimized keyed-locking system. This...

Server-Sent Events in ASP.NET Core and .NET 10

December 20, 2025

ASP.NET Core 10 introduces native Server-Sent Events as a lightweight, HTTP-native alternative to SignalR for simple one-way real-time updates like da...

The New .slnx Solution Format (migration guide)

December 13, 2025

See what changes in .slnx, how to convert your existing .sln, and what to watch out for in CI.

DbContext is Not Thread-Safe: Parallelizing EF Core Queries the Right Way

December 06, 2025

Learn how to safely parallelize EF Core queries to improve performance by using IDbContextFactory to create isolated contexts, avoiding the thread-saf...

Vertical Slice Architecture: Where Does the Shared Logic Live?

November 29, 2025

Deciding where shared logic lives is the most critical moment in Vertical Slice Architecture adoption, as choosing incorrectly reintroduces the coupli...

The False Comfort of the "Happy Path": Decoupling Your Services

November 22, 2025

Coupling isn't just about code structure; it's about failure boundaries. Discover how to ensure your critical business logic survives when external de...

...