performance
My weekend project found me staring at an older C# 11 and .NET 7 web application I’d built for one of my startups. Due to an integration partnership and SDK update, I had to get it migrated to .NET 10. After spending the past few years deep in C++ building game backend systems, I wondered what I’d missed in C# (our web front-ends “just worked” since I’d built them, so out of sight, out of mind).
In a recent video, Simon Sinek brilliantly captured a sentiment many leaders intuitively feel but often struggle to express clearly: our metrics aren’t necessarily wrong, they’re just incomplete. His analogy of choosing a life partner highlights this perfectly—physical attraction is important, but what about character, support during stress, and fundamental goodness?
In Part A of this series, we explored code-level optimizations using modern C++ features—from move semantics to compile-time computation. These techniques provide excellent performance improvements while making your code more expressive and maintainable.
In part one of this series, we established stability as the foundation of any modernization effort. If your system isn’t stable, performance optimizations are essentially meaningless—-after all, a fast crash is still a crash.
The past ten years or so, be it in an official capacity or consulting, I’ve worked with various organizations to coach
and lead high-performing teams. While I’ve spent most of my career in the technical space, I’ve had the privilege and
honor to work with and help lead some amazing digital product teams the past three years.