After spending the better part of 8 years deep in the .NET ecosystem, building everything from healthcare EHRs to global remittance platforms, I recently found myself at a crossroads. I’ve always loved C# for its productivity, but when you’re dealing with massive scale—the kind where every millisecond and every byte of memory counts—you start looking for something more.

That "something" for me was Rust.

My real turning point happened while working on the Domino’s (Australia) ordering platform. We were managing an order-routing service that was struggling under heavy load across 12+ international markets. We decided to rewrite the core service from ASP.NET Core to Rust using the Axum framework.

The results were a wake-up call:

  • Performance: Response times improved significantly almost immediately.

  • Memory Efficiency: By replacing an older Redis caching layer with a lighter, in-process solution using Rust’s shared state, we saw noticeably lower memory usage.

  • Reliability: Using strongly-typed Serde contracts caught serialization issues in development that used to only haunt us in staging.

Does this mean I’m leaving .NET behind? Not at all. In fact, I’m currently using .NET 10 to build multi-agent AI orchestration workflows for insurance underwriting. But what I’ve learned is that being a "Lead Engineer" in 2026 means knowing which tool to pick for the specific job.

In this blog series, I’ll be sharing:

  • Deep dives into Rust (Axum/Tokio) and how it handles concurrency.

  • How we are using the Microsoft Agentic Framework to automate complex decisions.

  • Real-world lessons from migrating legacy monoliths to modern cloud-native architectures.

If you’re a developer looking to level up your stack or a tech lead weighing the pros and cons of a rewrite, I hope my journey helps you make that call.