From EF Core to Dapper — Proving the Migration with Load Tests
How rigorous k6 load testing turned a performance hypothesis into a data-backed migration strategy for a high-throughput payments API.
British-born, Seattle-based. I've spent roughly 30 years in software engineering — including nearly 25 years at Microsoft — building systems that need to be reliable, observable, and fast at scale.
My expertise sits at the intersection of cloud infrastructure and backend engineering: Azure App Services, Front Door, WAF, Application Insights, Key Vault, and SQL; .NET/C# across the full stack; deliberate API design; and observability built to catch what doesn't page. CI/CD pipelines, security posture, and keeping production honest are the parts I care about most.
I'm currently Principal Software Engineer at Subly, a micropayment platform for publishers, where I own the full backend and infrastructure stack — from payment flows and API contract design to Azure security architecture and deployment pipelines.
Case studies in progress — check back soon.
How rigorous k6 load testing turned a performance hypothesis into a data-backed migration strategy for a high-throughput payments API.
A KQL investigation that surfaced a systemic sampling blind spot hidden inside Application Insights — before it became an incident.
A layered Azure security architecture that hardened a multi-tenant payments platform without sacrificing developer velocity or uptime.