HTTP Methods, Status Codes, and Semantics Done Right
In Chapter 2 we gave ShipCart a clean set of resources and URLs. A URL only tells a client what it's talking about, though.…
Senior Backend Engineer · .NET · Building secure, reliable systems
I build and maintain backend systems for the banking sector — APIs, integrations and the payment plumbing that has to work every single time. Here I write about what I learn along the way.
In Chapter 2 we gave ShipCart a clean set of resources and URLs. A URL only tells a client what it's talking about, though.…
In Chapter 1 we wrote ShipCart's first endpoint, GET /products. One endpoint is easy. Fifty endpoints, written by four teams over two years, are…
Build a complete .NET CI/CD pipeline with GitHub Actions: NuGet caching with lock files, a .NET 8/10 test matrix, dotnet format and coverage gates, a Docker image on GHCR, and approved OIDC deployments, with a copy-paste ci.yml.
ASP.NET Core caching gives you more options than most teams use, and that's the problem: IMemoryCache, IDistributedCache with Redis, the newer HybridCache, output caching,…
Every API is a promise. When you publish an endpoint, you are telling other developers: "Send me this, and I'll send you that, today…
A practical checklist for reviewing code written with AI assistants, covering correctness, hallucinated APIs and packages, security, meaningful tests and maintainability, with C# examples.
I'm a backend engineer with 8+ years of experience building enterprise and fintech applications in the banking sector. For roughly the last 3 years I've worked mainly with .NET Core and C#; before that, most of my work was in PHP and Laravel.
I'm a certified Project Management Professional (PMP), and I hold an M.Sc. in Information Technology from Jahangirnagar University (2019) and a B.Sc. in Software Engineering from Daffodil International University (2017).
More about me →Questions about an article, or want to talk backend engineering? Reach out on LinkedIn or by email.