Modern .NET Development
I’ve worked with .NET since the first version, and C# is the language I think in.
Lately that means .NET 9 and 10, Aspire and Orleans. I've followed .NET from the first Framework versions through .NET Core to .NET 10, so I know both the new patterns and the older code most teams still live with.
Two examples:
Betsson — Levels application
When we built the Levels application, I introduced .NET Aspire from the start for service composition, observability and local orchestration.
- Integration tests ran against Aspire's orchestrated environment, which was simpler to maintain than an equivalent Docker Compose setup
- New and rotating team members got up to speed faster thanks to a predictable structure
- Local and cloud environments behaved the same
Plejmo (Film2Home)
The platform had a traditional n-tier architecture that struggled under load. I moved it to asynchronous processing with Azure Service Bus and CQRS, separating reads from writes.
- Better performance under load
- Clearer separation of responsibilities
- Easier to change