Nivel Aplicação:
a) Complexidade e Estruturas
- Domínio de análise de complexidade (Big O Notation) — compreensão profunda de custos de tempo e espaço de algoritmos.
- Capacidade de escolher a estrutura de dados ideal (hash maps, heaps, trees, graphs, tries, bloom filters, etc.).
- Entendimento de trade-offs entre simplicidade e performance.
b) Paradigmas de Arquitetura
- Monólitos: simples de implantar, bom para MVPs, mas difícil de escalar em grandes times.
- Microserviços: desacoplamento, deploy independente, porém complexidade operacional maior.
- Event-driven architectures (EDA): uso de filas, streams e mensagens assíncronas (Kafka, RabbitMQ, SQS).
- Serverless e FaaS (AWS Lambda, Azure Functions) para workloads sob demanda.
- CQRS / Event Sourcing quando necessário para consistência eventual e rastreabilidade.
c) Performance e Escalabilidade
- Escalabilidade vertical vs horizontal.
- Estratégias de caching (Redis, Memcached, CDN, local caching).
- Load balancing, auto-scaling, partitioning/sharding, replicação.
- Diagnóstico de gargalos: profiling, tracing distribuído (OpenTelemetry, Jaeger).
- Uso de asynchronous I/O e non-blocking operations.
d) Concorrência e Sincronização
- Entendimento de race conditions, deadlocks, mutexes, semaphores, atomic operations.
- Modelos de concorrência: threads, event loops, actors, coroutines.
- Padrões de thread safety e design imutável.
e) Domínio e Modelagem
- Aplicação de Domain-Driven Design (DDD):
- Bounded Contexts, Aggregates, Entities, Value Objects.
- Event Storming e modelagem colaborativa.
- Separação clara entre Core Domain, Supporting, e Generic Subdomains.
- Estratégias de integração entre contextos (eventos, APIs, contratos).
f) Comunicação e Integração
- APIs RESTful bem definidas e API Gateway.
- GraphQL, gRPC, WebSockets.
- Integração via mensageria e eventos.
- Garantia de consistência eventual e idempotência.
g) Observabilidade e Confiabilidade
- Logging estruturado, monitoramento, metrics (Prometheus, Grafana).
- Tracing distribuído, alertas proativos.
- Chaos Engineering e resiliência (Circuit Breakers, Bulkhead, Retry policies).
Pratica de Arquitetura:
- SOLID, Clean Architecture, Hexagonal Architecture.
- Twelve-Factor App.
- Design for failure: pensar em fallback e degradação controlada.
- Infra as Code (IaC) — Terraform, CloudFormation.
- DevSecOps — segurança embutida desde o design.
Cloud:
- Proficiência em AWS / Azure / GCP.
- Estratégias de deploy contínuo (CI/CD).
- Containers e orquestração com Docker e Kubernetes.
- Conhecimento em Edge Computing e CDN architectures.
Entregaveis:
- Diagramas de arquitetura (C4, sequence, deployment).
- Architecture Decision Records (ADR).
- Modelos de context mapping e event storming.
- Estratégia de observabilidade e resiliência.
- Roadmap técnico e plano de evolução arquitetural.
Modelo de Trabalho: Presencial - Av. Angelica
Modelo de Contratação: PJ