Responsabilidades e atribuições
* Avaliar, discutir e definir arquitetura de sistemas, promovendo coesão técnica e alinhamento com os processos de negócio.
* Traduzir requisitos de negócio em soluções técnicas, propondo novos módulos ou otimizando sistemas existentes.
* Atuar na evolução contínua da plataforma baseada em microsserviços.
* Garantir automação de ponta a ponta, desde testes até deploy.
* Participar de pesquisas e implantação de novas tecnologias.
* Monitorar o ambiente produtivo e propor ações preventivas.
* Colaborar com o time de segurança para garantir conformidade e confiabilidade da plataforma.
* Criar ferramentas e rotinas para otimizar o uso de recursos e reduzir desperdícios.
* Ser agente ativo na melhoria contínua do processo de desenvolvimento técnico do time.
Requisitos e qualificações
* Experiência em desenvolvimento de sistemas e arquitetura distribuída.
* Atuação com acompanhamento técnico de times e boas práticas de engenharia.
* Sólidos conhecimentos em linguagem de programação Java.
* Experiência em desenvolvimento para ambiente Unix/Linux.
* Domínio de estrutura de dados, algoritmos e análise de complexidade.
* Conhecimento de programação concorrente e técnicas de depuração de código.
* Programação orientada a objetos, design patterns e integração via REST/JSON.
* Conhecimentos básicos de protocolos de comunicação (TCP/UDP).
* Experiência com arquitetura de microsserviços.
* Vivência com práticas DevOps e conteinerização (Docker).
* Conhecimento em mensageria assíncrona (Kafka, RabbitMQ, SQS).
* Experiência com bancos de dados relacionais e SQL.
* Conhecimento com bancos de dados não relacionais (MongoDB, DynamoDB, etc).
* Domínio do ecossistema Spring (Spring Boot, Web, Data, Spring Cloud).
* Experiência com JPA.
* Conhecimento em estratégias de cache (Redis, Memcached, etc.).
* Vivência com nuvem pública (preferencialmente AWS).
* Prática com testes automatizados (unitários, integração, componente).
* Experiência com testes de carga.
* Vivência em refatoração de código com foco em performance e legibilidade.
* Conhecimento em Kubernetes e práticas de observabilidade (OpenTelemetry).
* Conhecimento em ferramentas de monitoramento (New Relic, Splunk, Prometheus, Grafana).
* Experiência com ferramentas de CI/CD (Jenkins, GitHub Actions, GitLab CI, ArgoCD).
* Conhecimento de versionamento e documentação de APIs (Swagger/OpenAPI).
* Noções de segurança de aplicações (OWASP Top 10, OAuth2, JWT).
* Conhecimento em ferramentas de análise estática de código (SonarQube, etc).
* Inglês técnico para leitura de documentação e artigos.
* Vivência em metodologias ágeis (Scrum, Kanban, Lean).
Informações adicionais
Para se destacar nessa posição, seria legal se você também tivesse:
* Experiência com programação reativa (WebFlux).
* Conhecimento em outras linguagens (Node.Js, Kotlin, Python).
* Experiência com ferramentas de infraestrutura como código (Terraform).
* Experiência com GraphQL.
* Familiaridade com estratégias de deploy (blue/green, canary).
* Habilidade para mentorar desenvolvedores e participar de iniciativas de melhoria contínua (ex: dojo, pair programming).
* Conhecimento em criação de Agentes de IA (Spring AI, AWS Bedrock Agent).
* Conhecimento em engenharia de prompt.
* Conhecimento em técnicas de aumento de contexto de IA Generativas - LLM's (busca semântica em bancos vetoriais, RAG, etc).