Selected experience
Engineering work.
Production systems, architecture improvements, and technical leadership. Previous employer details are intentionally described at a high level to respect confidentiality.
Distributed infrastructureRemote hosting management at fleet scale
Designed and built a management service deployed across 2,000+ servers, plus a mechanism to deliver changes to running services.
- Remote .NET API operations for IIS, files, Windows services, firewall and certificates
- Update orchestration and operational concerns across a large fleet
- Security, action logging, and administration constraints
Payments engineeringCard Account Updater
Built a containerized card-account-update microservice intended to help subscription businesses avoid avoidable churn from expired or replaced cards.
- Integration boundaries with payment workflows
- Asynchronous processing and failure handling
- Business continuity as the driving requirement
Azure · ReliabilityUsage logging with delivery guarantees
Designed an Azure and Service Bus-based API usage event system with complex rules and a 99.9% delivery SLA.
- Decoupling customer-facing APIs from usage processing
- Durable messaging, retries, and observability
- Mapping business rules to delivery behavior
Domain-driven design · LeadershipMoving domain behavior into the model
Led DDD workshops and architectural reviews that helped guide real implementations and reimplementations of business-critical slices.
- Learning the language and constraints of the business
- Encapsulating invariants in rich domain models
- Helping teams adopt consistent architecture through reviews and teaching
Architecture enablement · AI-assisted developmentCodifying architecture standards for future development
Authored a CLAUDE.md for the modernized rules-engine application to guide Claude Code toward domain-driven design and established clean architecture boundaries, rather than copying the legacy CRUD-oriented implementation.
- Documented preferred DDD patterns, modern C# standards, data access and dependency direction
- Designated a demonstrated DDD vertical slice as the reference implementation for subsequent changes
- Made architectural intent available at the point of implementation, including during AI-assisted contributions
Modernization · CloudPreparing legacy applications for modern deployment
Introduced Azure Key Vault integration, containerized a legacy application, and prepared its deployment approach for Linux-based Azure App Service.
- Incremental migration rather than unnecessary rewrites
- Configuration and secret-management boundaries
- Deployment readiness and operational considerations
SQL · Pragmatic architectureRight-sizing application search
Replaced an oversized Elasticsearch-based approach with search columns and database indexing aligned with actual application requirements.
- Understanding the real search use cases
- Choosing appropriate SQL indexing strategies
- Reducing moving parts when a dedicated search cluster is not justified