Engenheiro de Software Sr. (Java)

Open 40d

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!

  • Projetar, evoluir e avaliar a arquitetura dos nossos agentes de IA e dos microsserviços que os sustentam, garantindo coesão técnica e alinhamento com o negócio.
  • Traduzir necessidades de negócio em soluções técnicas, propondo novos módulos, novos agentes ou otimizando os existentes.
  • Construir e evoluir o framework de avaliação (evaluation) dos agentes: definição de métricas de qualidade, golden sets, avaliação offline e online, LLM-as-judge, testes de regressão de comportamento e A/B testing de prompts e modelos. É com evaluation que decidimos, com dados, se uma versão do agente pode ir pra produção.
  • Garantir confiabilidade e segurança dos agentes em produção: guardrails, tratamento de alucinação e observabilidade da execução (não só do pipeline de deploy), cada resposta rastreável e auditável.
  • Atuar em governança de prompt e no ciclo de evolução dos agentes (versionamento, homologação, rollout seguro).
  • Garantir automação de ponta a ponta, de testes a deploy, com observabilidade de verdade em produção.
  • Otimizar uso de recursos e custo — incluindo custo de inferência/tokens (FinOps de IA) — criando ferramentas e rotinas que reduzam desperdício.
  • Colaborar com o time de segurança para garantir conformidade e confiabilidade da plataforma.
  • Ser referência técnica e agente ativo na melhoria contínua do time (mentoria, revisão, disseminação de boas práticas).
  • Experiência sólida em Java e no ecossistema Spring (Boot, Web, Data, Cloud).
  • Vivência real com arquitetura de microsserviços e sistemas distribuídos.
  • Experiência com contêineres (Docker) e Kubernetes.
  • Bancos relacionais (SQL) e não relacionais (MongoDB, DynamoDB ou similar).
  • Experiência com mensageria assíncrona (ao menos uma: Kafka, RabbitMQ, SQS).
  • Vivência com nuvem pública, preferencialmente AWS.
  • Prática consistente com testes automatizados e cultura DevOps/CI-CD.
  • Fundamentos fortes: estrutura de dados, algoritmos, análise de complexidade, programação concorrente, OO, design patterns e integração REST/JSON.
  • Vivência em metodologias ágeis (Scrum, Kanban).

Diferenciais que fazem sentido pro nosso contexto

  • Experiência com construção de agentes de IA (Spring AI, AWS Bedrock Agent ou equivalente).
  • Avaliação de agentes / LLMs (evaluation): métricas de qualidade, golden sets, LLM-as-judge, eval offline e online, testes de regressão de comportamento. Ferramentas como LangSmith, Ragas, DeepEval, Braintrust ou equivalentes são um plus.
  • Engenharia de prompt e técnicas de aumento de contexto para LLMs (RAG, busca semântica, bancos vetoriais).
  • Estratégias de cache (Redis, Memcached).
  • Observabilidade (OpenTelemetry) e ferramentas de monitoramento (ao menos uma: New Relic, Splunk, Prometheus, Grafana).
  • Ferramentas de CI/CD (ao menos uma: Jenkins, GitHub Actions, GitLab CI, ArgoCD) e estratégias de deploy (blue/green, canary).
  • Infraestrutura como código (Terraform).
  • Documentação de APIs (Swagger/OpenAPI) e análise estática de código (SonarQube).
  • Noções de segurança de aplicações (OWASP Top 10, OAuth2, JWT).
  • Testes de carga e refatoração com foco em performance e legibilidade.
  • Outras linguagens (Kotlin, Python, Node.js), GraphQL.
  • Perfil de mentoria e participação em iniciativas de melhoria contínua (dojo, pair programming).
  • Inglês técnico para leitura de documentação e artigos.