Atuar como referência técnica e líder técnico(a) do squad de uma plataforma corporativa de Customer Communication Management (CCM) em uma grande operadora de telecomunicações. A pessoa vai traduzir a arquitetura aprovada em design de baixo nível para microsserviços Java/Spring Boot orientados a eventos, definir padrões de engenharia, contratos e estratégia de testes, estimar a complexidade e preparar o backlog técnico e o squad para o início do desenvolvimento. A plataforma substitui o backend atual de Push Notification do aplicativo da operadora e precisa operar com alto volume, resiliência e observabilidade.
Responsabilidades & Atribuições
- Detalhar o design de baixo nível de cada microsserviço (porta de entrada, adapter de saída, persistência, testes e pipeline) e classificar a complexidade (baixa, média e alta) para a estimativa.
- Definir padrões de código e de engenharia: arquitetura hexagonal, convenções, qualidade (SonarQube), revisão de código, estratégia de branches e versionamento.
- Especificar contratos de API (OpenAPI) e de eventos (AsyncAPI), incluindo retry, backoff, DLQ, idempotência e versionamento.
- Definir a estratégia de testes (unitário, integração, contrato, carga e regressão automatizada) e os requisitos técnicos de aceite junto à QA.
- Conduzir provas de conceito de alto risco, como envio via FCM HTTP v1, throttling por canal e comportamento do broker sob carga.
- Analisar componentes legados para identificar regras a preservar e pontos de corte para o desligamento gradual.
- Preparar o backlog técnico por onda, o dimensionamento do squad (Devs Backend, QA e Front-end) e o plano de ramp-up.
- Apoiar o Arquiteto de Soluções nas decisões e garantir que o design de baixo nível respeite a arquitetura aprovada.
- Definir estratégia de CI/CD, DevSecOps e observabilidade (logs, métricas e tracing) em conjunto com DevOps.
- Mentorar desenvolvedores e promover cultura de qualidade, automação e segurança.
Qualificações Desejadas
Obrigatórias / Essenciais
- Formação superior em Ciência da Computação, Engenharia, Sistemas de Informação ou áreas correlatas.
- Experiência mínima de 10 anos em desenvolvimento de software, sendo ao menos 4 anos como Tech Lead de squads em microsserviços de alto volume.
- Experiência sólida em Java 17/21 e Spring Boot 3 (Spring Cloud, Spring Data, Spring Kafka e WebFlux).
- Domínio de arquitetura hexagonal/Clean Architecture, DDD tático e padrões de resiliência (circuit breaker, retry, rate limiter e bulkhead com Resilience4j).
- Experiência em produção com Apache Kafka (offsets, rebalanceamento, retry topics, DLQ, schema registry e garantias de entrega).
- Experiência com APIs REST, OpenAPI, AsyncAPI, webhooks e testes de contrato (Pact).
- Experiência com PostgreSQL ou Oracle, MongoDB ou Cassandra e Redis.
- Experiência com Docker, Kubernetes/AKS, Helm e esteiras CI/CD (Azure DevOps, Jenkins, GitLab CI ou GitHub Actions), com práticas DevSecOps.
- Experiência com JUnit 5, Mockito, Testcontainers, testes de carga (Gatling, JMeter ou k6) e SonarQube; TDD/BDD.
- Experiência em observabilidade: Micrometer, OpenTelemetry, Prometheus/Grafana e ELK.
- Conhecimento de segurança de aplicação: OAuth2/JWT, OWASP Top 10 e gestão de segredos.
- Liderança técnica, mentoria, senso crítico e pragmatismo nas decisões técnicas.
- Boa comunicação com arquitetura, negócio e Product Owner; senso de responsabilidade pela qualidade e previsibilidade do squad.
- Inglês técnico para leitura de documentação.
Diferenciais
- Certificações Java, Spring, Kubernetes (CKA/CKAD) ou Azure.
- Experiência em plataformas de mensageria, notificação ou comunicação omnichannel.
- Conhecimento de FCM, APNs e Web Push.
- Experiência com processamento em lote de grandes mailings.
- Conhecimento de SAS RTD, CRM Play ou Adobe.
- Condução de substituição gradual de sistema legado em produção.
- Vivência no setor de telecomunicações.
Contratação: PJ
Projeto temporário de 3 meses, com possibilidade de prorrogação.