1. Experiência com desenvolvimento de arquitetura distribuída.
2. Experiência com desenvolvimento de sistemas.
3. Experiência com linguagem de programação Java.
4. Experiência com desenvolvimento para ambiente Unix e Linux.
5. Conhecimento em estrutura de dados, algoritmos e análise de complexidade.
6. Conhecimento em programação concorrente e técnicas para depuração de código.
7. Conhecimento em programação orientada a objetos e Design Patterns,e programação utilizando chamadas REST e JSON.
8. Conhecimento em protocolos de comunicação TCP e UDP.
9. Conhecimento em microsserviços, DevOps, Mesos, Docker, Marathon,e HAProxy.
10. Experiência com bancos de dados relacionais e SQL.
11. Experiência com Spring Boot.
12. Experiência com TDD e BDD.
13. Experiência com testes unitários.
14. Experiência com refactoring de código.
15. Experiência com ferramentas de mensageria (como Kafka).
16. Experiência com ferramentas e práticas de monitoração de sistemas (como New relic).
17. Conhecimento em plataforma de automação continua, como Jenkins.
* Avaliar, discutir e definir arquitetura de sistemas e propor melhorias, promovendo coesão técnica e consistência dos processos de negócio.
* Traduzir requisitos de negócio em arquiteturas e sistemas.
* Planejar e executar soluções para plataforma de microsserviços.
* Garantir o maior nível possível de automação das soluções.
* Participar da pesquisa e implantação de novas tecnologias.
* Interagir com outras áreas para garantir a integração das ferramentas.
* Cuidar da monitoração do ambiente e criar ações proativas que garantam a saúde da plataforma.
* Interagir com a equipe de segurança para garantir a confiabilidade da plataforma.
* Criar ferramentas com o intuito de garantir que os recursos estão sendo utilizados de forma consciente.
* Participar nas melhorias do processo de desenvolvimento técnico do time (DoJo, Pair, entre outras).