Domínio profundo de .NET / C# (incluindo as versões modernas .NET 6/8/10 e noção de LTS vs STS) e algum conhecimento de Node.js. Entendimento de fundamentos: Garbage Collector (gerações, Server vs Workstation GC, pressão de memória), server side vs client side, e noções de integração legada (SOAP/WSDL). APIs e resiliência Design de APIs e padrões de resiliência na prática: retry com backoff exponencial e jitter, circuit breaker, timeout, bulkhead, rate limiting, idempotência (ex.: Polly / Microsoft.Extensions.Resilience). Arquitetura de software Vivência real com EDA (arquitetura orientada a eventos), DDD, Vertical Slice Architecture (VSA), Clean Architecture (CA), Event Sourcing e SAGA (orquestrada e coreografada). Cases concretos de padrões distribuídos: Outbox/Inbox, dual-write, idempotência, consistência eventual. CQRS nos dois níveis de código (separação command/query) e de infraestrutura (store de leitura segregado). Mensageria e dados Mensageria com RabbitMQ, Kafka e/ou Azure Service Bus, com critério claro de quando usar cada um (fila vs stream vs enterprise bus). Bancos SQL e NoSQL, com critério de escolha por tipo de dado e carga. Redis e seus usos (cache, lock distribuído, rate limiting, sessão, pub/sub). Dapper e Entity Framework, com entendimento dos trade-offs de cada um (produtividade vs controle/performance, N+1). Engenharia e operação Design Patterns aplicados com critério (não como checklist). Diagramação de arquitetura, modelo C4 (e/ou UML/ArchiMate) com ferramentas como draw.io, Structurizr, Miro ou similar, Scalidraw.
- Observabilidade: logs, métricas e traces
- OpenTelemetry
- APM (Datadog/Dynatrace/Application Insights)
- noção de SLO e P95/P99.
Vivência de Cloud (AWS e/ou Azure), containers e CI/CD.