I'm a Technical Team Lead and .NET engineer with 17+ years of experience delivering scalable, maintainable software — from requirements and architecture through implementation, testing, and production.
I work on e-commerce, backend platforms, and distributed systems, and I care about clean architecture, team quality, and systems that hold up under real load.
As a lead, I focus on:
- Translating business goals into technical direction and delivery plans
- Architecture, code review, and raising engineering standards across the team
- CI/CD, reliability, and pragmatic refactoring
- Mentoring developers on .NET, design patterns, and production debugging
Beyond day-to-day delivery, I share what I learn on LinkedIn — patterns, architecture notes, and hands-on .NET topics — and publish reusable libraries through open source.
| Area | Technologies & practices |
|---|---|
| Backend | C#, ASP.NET Core, Minimal APIs, EF Core, REST, gRPC, idempotent APIs |
| Architecture | CQRS, Mediator, MCP tools, DDD, event-driven design, microservices, modular monoliths |
| Data & performance | SQL Server, PostgreSQL, Redis, caching strategies, keyset (cursor) pagination, concurrency & indexing |
| Messaging & integration | RabbitMQ, outbox/inbox, DLQ, YARP API gateways, rate limiting, third-party integrations |
| Observability | OpenTelemetry (traces, metrics, logs), structured logging, Aspire, SigNoz |
| Commerce | Catalog, pricing & inventory, checkout & order lifecycle, payments & shipping, plugin architecture, headless/API-first storefronts |
| DevOps | Docker, GitLab CI/CD, GitHub Actions, NuGet packaging |
| Quality | Unit & integration testing, Aspire-hosted tests, Roslyn analyzers, code review |
.NET building blocks — Mediator, Idempotency, MCP, keyset pagination, OpenTelemetry, Aspire / SigNoz — plus a runnable lab.
| Package | Version | Role |
|---|---|---|
| BuildingBlocks.Mediator | 1.1.0 | CQRS Send + ordered pipeline (typed behaviors, opt-in traces/metrics) |
| BuildingBlocks.Mcp | 1.0.0 | Message types / Minimal APIs → MCP tools |
| BuildingBlocks.Idempotency | 1.0.1 | HTTP Idempotency-Key — MVC + Minimal API, optional Redis lock |
| BuildingBlocks.Pagination.EntityFrameworkCore | 1.1.0 | Typed keyset (cursor) pagination for EF Core |
| BuildingBlocks.Telemetry | 1.0.2 | Config-driven OpenTelemetry |
| BuildingBlocks.Aspire.Hosting.SigNoz | 1.0.0 | Local-dev Aspire SigNoz stack |
Also: DbContextThreadSafetyAnalyzer — Roslyn analyzer for async DbContext usage.
Technical write-ups on LinkedIn:
| Topic | Link |
|---|---|
| BuildingBlocks.Mediator — CQRS NuGet release | Post |
| DDD & architecture | Post |
| EventBus with outbox, inbox & DLQ | Post |
| Integration testing with Aspire | Post |
| Mediator + pipeline behaviors | Post |
| Keyset (cursor) pagination | Post |
| Idempotency with CQRS | Post |
| IdempotentFusion (REST API) | Post |
More: docs/linkedin-posts.md in FeatureFusion.




