Microservices / Distributed Applications
Desktop Application
- Windows Presentation Foundation (WPF)
- Windows Forms
Frontend Technologies
- Blazor
- Angular
- TypeScript
- TailwindCSS
Databases
- MS SQL Server
- PostgreSQL
- MongoDB
- Elastic Stack
- Redis
Unit Testing
- nUnit, xUnit, MS Test
- Fluent Assertions / Shouldly
- BDD using ReqnRoll / SpecFlow
- Verify
- Mutation Testing using Stryker
- Test First Approach (TDD)
Integration Testing
- In-Memory Integration Testing - WebApplicationFactory
- TestContainers
- Aspire.Hosting.Testing
- Respawn
Mock Frameworks
- Moq
- NSubstitute
- WireMock.NET
- MockHttp
API Design
- ASP.NET Web API
- gRPC (with DAPR)
- GraphQL (Hot Chocolate)
API Documentation
- Swagger / OpenAPI
- Scalar
- ReDoc
- Mermaid
- draw.io
Distributed Application Patterns
- State Management
- Publish / Subscribe
- Service Invocation
- Secret Management
- Centralized Configurations
- Distributed Locks
- Scheduled Tasks
- Sidecar Pattern
Principles & Architectures
- SOLID
- WET, DRY
- Event Driven
- Pub / Sub
- Domain Centric Design / Domain Driven Design (DDD)
- Clean Architecture & Vertical Slice Architecture with CQRS & MediatR
Build & Deployment
- Docker
- Kubernetes
- GitHub Actions
- Azure DevOps
- Podman
- Helm
AI
- Microsoft.Extensions.AI
- Azure Cognitive Services
- Azure AI
- Microsoft Presidio
- Libre Translate
Code Quality
- .editorconfig
- SonarQube
- Roslyn Analyzers
- ReSharper CLT
- Coverlet
Observability
- Open Telemetry
- Open Zipkin
- Jaeger
- Prometheus
- Grafana
- Aspire Dashboard
Product Development
- Agile (Scrum)
- LEAN
- BDD using SpecFlow