
Engenheiro de Software Sr. (Java)
Job Description
Descrição da vaga
Quando você pensa em carreira, o que vem à sua mente? Propósito? Colaboração? Ser protagonista para fazer a diferença? No PagBank temos tudo isso e muito mais. 💛
Estamos em busca de pessoas que vistam a camisa com orgulho. Gente com vontade de facilitar a vida financeira das pessoas e impulsionar negócios!
Tá a fim de uma carreira que rende mais? Confira essa oportunidade e #VemProPags!
Responsabilidades e atribuições
- 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.
- Implementar testes automatizados (testes de integração, sistema e funcionais).
- Cuidar da monitoração do ambiente e criar ações proativas que garantam a saúde do ecossistema.
- 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).
Requisitos e qualificações
- Superior completo em Tecnologia da Informação ou áreas correlatas.
- Conhecimento em estrutura de dados, algoritmos e análise de complexidade.
- Conhecimento em programação concorrente e técnicas para depuração de código.
- Experiência com desenvolvimento de arquitetura distribuída, desenvolvimento e acompanhamento técnico do time.
- Experiência com desenvolvimento de sistemas.
- Experiência com linguagem de programação Java e Kotlin.
- Experiência com desenvolvimento para ambiente Unix/Linux.
- Experiência com programação orientada a objetos e design patterns, e programação utilizando chamadas REST/JSON.
- Experiência com serviços de mensageria e filas como Rabbit, SNS, SQS, Pub/Sub, JMS e Kafka.
- Experiência com microsserviços, DevOps, Mesos, Docker, Marathon e hproxy “load balance”.
- Experiência com bancos de dados relacionais SQL e NOSQL.
- Experiência com SpringBoot.
- Experiência com TDD, BDD e testes unitários.
- Experiência com refactoring de código, ferramentas e práticas de monitoração de sistemas, como New Relic e Grafana.
- Conhecimento em alguma plataforma de automação contínua, como Jenkins.
- Inglês para leitura de manuais e artigos técnico.
- Conhecimento em Cache (Redis).
Informações adicionais
Para se destacar nesta posição seria legal se você também tivesse:
• Experiência com metodologias ágeis (Scrum, Lean ou Kanban).
• Experiência com NodeJS.
• Certificação de programador Java.