Job description
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!
Main responsibilities
- 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.
Requirements and skills
- 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).
Additional information
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).