Engineering Thinking
From the Field.
Technical articles from real .NET and Azure engagements — on performance diagnosis, architecture decisions, and compliance automation patterns that hold under production load.
.NET 8 End of Support:
The Upgrade Plan Before November 10
.NET 8, .NET 9 and in-process Azure Functions lose support on the same day. Why exposure should set each service's finish line and migration class its start, and the breaks a green build won't show you.
Microservices vs Monolith:
When the .NET Answer Is Neither
The debate argues process count when the real question is release coupling. The four independences microservices bundle together — and why only two of them actually need a process boundary.
Backend Health Check
Before a Series B
The five areas technical due diligence actually probes, what the questionnaire is really asking, and a 30-day prep sequence ranked by cost of being wrong — including what isn't worth fixing.
Embedded Architect vs
Consulting Agency
Day rate is the wrong comparison. The three differences that decide the outcome — knowledge transfer, accountability surface, cost-per-decision — and where an agency genuinely wins.
When to Rebuild vs Refactor
a .NET Backend
The rebuild debate is argued on code quality when the real question is whether a seam exists. Four signals that justify a rewrite — and the four impostors they're confused with.
Database vs Application-Layer
Bottlenecks in .NET
A four-quadrant method for attributing a slow request to the database or the application layer — and the three clocks that explain why "fast in SSMS" doesn't mean fast in production.
1099 Compliance Automation:
A .NET Playbook
The four problems every 1099 reporting backend must solve — completeness, deduplication, idempotency, and audit trail — with production .NET for filing returns without double-filing.
Designing a CQRS Backend
for Regulatory Compliance
CQRS is overkill for most apps — in a regulated backend it earns its cost. When the pattern is justified, and how the append-only event log becomes the audit trail by construction.
The CTO's Guide to
Backend Architecture Reviews
What a review actually covers, what it should output, and how to tell whether you need one. The seven areas any serious review examines — ranked by cost of being wrong, not ease of fixing.
Idempotent Message Handling
in Azure Service Bus
At-least-once delivery guarantees duplicate messages — and the broker can't dedupe them for you. The three levels of idempotency, and the transactional pattern that stops double charges.
Azure Service Bus vs Event Hub
for Financial Pipelines
Ordering, throughput, and delivery guarantees decide this, not gut feel. A decision framework for picking between Service Bus and Event Hub — and when a pipeline needs both.
How to Diagnose a Slow .NET API:
Find the Constraint Before You Refactor
A five-step playbook for finding what's actually slowing a .NET API — request profiling, I/O vs. CPU, EF Core query shape, GC pressure, and downstream dependencies — in order, before any code changes.
Replacing Batch Statement Generation
with Event-Driven .NET
Batch statement and report generation breaks down at scale. The event-driven .NET pattern that replaces it — and the cases where batch is still the right call.
Architecting Auditable Backend Systems:
Immutable Records, Replay, and Lineage
How backend systems prove what happened, when, and to whom — a .NET/Azure framework for immutable records, deterministic replay, and audit-ready data lineage.
How to Build an Immutable Audit Trail
in .NET and Azure
Storage options, hash-chain verification, retention and legal hold, and the GDPR erasure tradeoff — the concrete, build-it version of an immutable audit trail on .NET and Azure.
How to Diagnose a .NET Performance Bottleneck:
Find the Constraint, Not the Symptoms
Most .NET performance investigations fail because they target effects — slow queries, high CPU, long request times — rather than the actual architectural constraint. Here's the diagnostic method we use before writing a single line of remediation code.
Know You Have a Problem.
Let's Find Where It Is.
A two-week Discovery Sprint delivers a written diagnosis of your backend bottleneck and a remediation roadmap — no long-term commitment required.