Overview
Technical skills
Projects
Timeline
Built cloud-native event-driven backend services for a modern banking platform on Azure, owning engineering delivery across design and operations. Implemented infrastructure as code with Terraform for Azure resources and set up containerized service pipelines. Applied distributed-systems reliability patterns such as inbox/outbox, idempotency, circuit breakers, and sagas, while integrating REST API and third-party system workflows.
Core engineer on a .NET 8 and Blazor platform automating enterprise VM provisioning, software packaging, and Azure environment setup. Owned architecture decisions across backend, frontend, and infrastructure, implementing Azure provisioning as code using Bicep. Integrated Microsoft Graph APIs for Entra ID and Intune device/identity workflows and replaced manual infrastructure processes with automated Azure DevOps pipelines.
Developed and refactored domain-driven microservices for an environmental monitoring platform processing high-volume detection events via Kafka. Resolved message-ordering issues by consolidating to a single idempotent producer with partition-key ordering and fixed async pipeline defects. Delivered collision-risk configuration end to end including EF Core migrations, geospatial processing, and OPC-UA turbine integration, and added NUnit test suites plus Keycloak authentication and Grafana dashboards.
Designed and built a .NET 10 API platform connecting a fintech system with external insurance aggregators, taking ownership of API design, data transformation, and orchestration. Implemented a custom resiliency layer covering retries, idempotency, deduplication, and dead-letter handling using Polly. Migrated an earlier codebase to modern .NET and increased automated test coverage substantially, also integrating payment gateway functionality for installment use cases.
Established and led the Microsoft technology practice for a visitor-management product supporting German enterprise clients. Refactored key areas of the application and delivered gap analyses and design proposals for future improvements. Improved development workflow practices such as branching and code management to support team delivery.
