.NET 10 development & modernization
New services on .NET 10, and existing ones brought up to it without a rewrite.
Architecture, .NET modernisation, data migrations and engineering management — for systems that are already carrying load.
Most of this work starts the same way: a system that shipped years ago is still shipping, and the cost of changing it has quietly overtaken the cost of running it. Framework versions that no longer get patches, a database that was the right shape for the first product and the wrong shape for this one, a team that spends more of the week on incidents than on the roadmap.
The method is the same in all six services below. Measure the process before arguing about it, name the failure modes in order of what they cost, and move in steps that can each be released on their own.
New services on .NET 10, and existing ones brought up to it without a rewrite.
Off Framework, off Windows Server, onto Linux containers — while the system keeps serving traffic.
Moving to a document store when the access pattern justifies it — and saying so when it does not.
Pipelines that finish, restart cleanly, and tell you when they lied.
A review that ends in a ranked list of what will break first, and what it costs to fix each one.
For a team that is busy every week and shipping less than it used to.