O que esperamos encontrar em você:
Conhecimento e experiência com Java;
Conhecimento de arquitetura distribuída (especificamente micro serviços);
Conhecimento e experiência com testes unitários e de integração;
Conhecimento e experiência com observabilidade (métricas, tracing e logs);
Conhecimento e experiência com design e arquitetura de software;
Conhecimento e experiência com o ecossistema Spring e CDI;
Conhecimento e experiência com banco de dados relacionais, modelagem de banco de dados e SQL;
Conhecimento e experiência com conteinerização (Docker ou similar);
Conhecimento básico de Linux e cloud (AWS ou similar);
Conhecimento e experiência com Git e fluxo de trabalho Git: pull requests, branches, merges, etc;
Conhecimento e experiência em depuração de código e resolução de problemas;
Cuidado com o código escrito (código limpo), principalmente legibilidade e simplicidade;
Capacidade de escrever documentação técnica clara e concisa.
Diferenciais (não obrigatórios, mas será legal se você tiver):
Conhecimento de linguagens de script (Bash ou similar);
Conhecimento e experiência com CI/CD e suas stacks (Jenkins, GitHub Actions ou similares);
Conhecimento em orquestração de containers (Kubernetes ou similar);
Conhecimento em Service Mesh (Istio ou similar);
Conhecimento em Kafka;
Conhecimento de banco de dados não relacionais (NoSQL);
Conhecimento de infraestrutura como código (Terraform ou similar);
Conhecimento do padrão Pub/Sub e alguma de suas implementações (exemplo: SQS/SNS).
Como será o seu dia a dia?
Implementar ferramentas para melhorar a produtividade do desenvolvimento;
Realizar ajustes e correções necessárias para a segurança da plataforma;
Investigar e solucionar problemas como alarmes, gargalos e bugs;
Monitorar de forma contínua e preventiva os serviços existentes a fim de mantê-los operando sem erros e com boa performance;
Participar de desenhos de arquitetura com o time de forma a pesquisar e apresentar possíveis soluções, melhorias ou correções nas iniciativas da equipe;
Colocar a mão na massa construindo novos sistemas e mantendo os já existentes;
Trabalhar em equipe, de forma que possa ajudar e compartilhar conhecimentos com os demais membros através de programação pareada e revisão de código.
#J-18808-Ljbffr