Job description
Nascemos para democratizar os serviços bancários e de pagamentos!
Pioneirismo, tecnologia, inovação e resultados sustentáveis são constantes da nossa trajetória. Lançamos a primeira maquininha de cartão sem aluguel do Brasil e ao longo dos anos seguimos evoluindo para ampliar nosso ecossistema de soluções financeiras.
Somos um dos maiores bancos digitais do país e uma das fintechs mais rentáveis do segmento, resultado do trabalho de um time formado por pessoas talentosas e criativas, que atuam com dedicação, paixão e vontade de fazer acontecer.
Se você ama tecnologia, curte um bom desafio e acredita no poder da colaboração para fazer grandes entregas, o Pags é pra você! Então, confira essa oportunidade e vem pintar o Brasil de amarelo com a gente!
No PagBank todas as pessoas são bem-vindas, sem distinção de gênero, orientação sexual, etnia, cultura, religião, deficiência etc. O importante é você gostar de desafios, trabalhar bem em equipe, vivenciar nossa cultura e nosso propósito de facilitar a vida financeira das pessoas e negócios.
#VemProPags
Main responsibilities
- Avaliar, discutir e definir arquitetura de sistemas, propondo melhorias, promovendo a coesão técnica e consistência dos processos de negócio e apresentando alternativas para os diversos desafios.
- Traduzir requisitos de negócio em arquiteturas e sistemas, enquadrando-os nos sistemas já existentes ou propondo novos módulos quando necessário.
- Planejar e executar soluções para nossa plataforma de microsserviços.
- Garantir o maior nível possível de automação de soluções.
- Participar da pesquisa e implantação de novas tecnologias.
- Estar em contato 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.
- Manter contato estreito 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 e afins).
Requirements and skills
- Experiência em desenvolvimento de sistemas, arquitetura distribuída, desenvolvimento e acompanhamento técnico do time.
- Experiência com linguagem de programação Java e/ou Kotlin.
- Experiência com desenvolvimento para ambiente Unix/Linux.
- Conhecimento de estrutura de dados, algoritmos e análise de complexidade.
- Conhecimento de programação concorrente, técnicas para depuração de código.
- Conhecimento de programação orientada a objetos e design patterns, programação utilizando chamadas REST/JSON.
- Conhecimentos básicos de protocolos de comunicação TCP/UDP.
- Conhecimento com Microsserviços, Devops, Docker, Mensageria (Kafka, Rabbitmq, SQS e etc).
- Experiência com bancos de dados relacionais e SQL.
- Experiência com Spring (Spring boot, Spring web, Spring data).
- Experiência com JPA.
- Experiência com estratégia de cache.
- Experiência com testes automatizados (Unitário, Componente, Integração).
- Experiência com testes de carga.
- Experiência com refactoring de código.
- Experiência com ferramentas e práticas de monitoração de sistemas (New relic, Splunk e etc).
- Conhecimento em alguma plataforma de Automação Continua (como Jenkins).
- Inglês para leitura de manuais e artigos técnicos.
Additional information
Para se destacar nesta posição seria legal se você também tivesse:
- Experiência com Scrum, Lean ou Kanban.
- Certificação de programador Java.
- Conhecimento de bancos NoSQL.
- Experiência com NodeJS.
- Experiência com Webflux.
- Conhecimento de AWS.
- Conhecimento de Terraform.
- Conhecimento em Kotlin.
- Conhecimento de Kubernetes.