Estamos em busca de um(a) Desenvolvedor(a) Java Sênior para atuar no desenvolvimento e evolução de sistemas de Clearing de Adquirência, em um ambiente de alta criticidade, grande volume transacional e forte exigência de performance, consistência e rastreabilidade.
A pessoa atuará em soluções responsáveis pelo processamento de arquivos, eventos, rotinas batch e componentes relacionados ao ecossistema de adquirência, bandeiras, clearing e liquidação.
Buscamos um perfil técnico, analítico e hands-on, com experiência em sistemas robustos, processamento massivo de dados, aplicações backend de missão crítica e rotinas de meios de pagamento de alto volume.
Requisitos:
Principais responsabilidades:
Desenvolver, evoluir e sustentar aplicações Java backend relacionadas ao processamento de clearing de adquirência.
Atuar em rotinas batch, processamento paralelo, ingestão de arquivos, eventos e grandes volumes de dados.
Desenvolver rotinas de processamento, validação, transformação, persistência e geração de arquivos de clearing.
Implementar soluções com foco em performance, consistência transacional, idempotência, rastreabilidade e resiliência.
Apoiar a análise técnica de regras de processamento, arquivos de bandeiras, clearing e liquidação.
Investigar problemas em ambientes críticos, analisando logs, métricas, dados transacionais e comportamento de processos.
Atuar na otimização de processos, queries, rotinas batch e fluxos de alto volume.
Colaborar com times de arquitetura, produto, infraestrutura, banco de dados e operações.
Requisitos técnicos obrigatórios:
Backend / Core Java
Experiência sólida com Java Core, utilizando JDK 21.
Experiência com Spring Framework, especialmente Spring Boot e Spring Batch.
Desenvolvimento de aplicações backend de alto volume e alta criticidade.
Experiência com processamento batch, processamento assíncrono e/ou pipelines de dados.
Conhecimento em programação concorrente, multithreading, paralelismo e controle de concorrência.
Experiência com idempotência, reprocessamento, tolerância a falhas e desenho de aplicações resilientes.
Conhecimento em sistemas distribuídos e arquitetura escalável.
Banco de dados:
Experiência com bancos relacionais como Oracle, PostgreSQL, SQL Server ou similares.
Modelagem de dados para alto volume transacional.
Conhecimento em consistência transacional, controle de concorrência, índices, particionamento e otimização de queries.
Experiência com processamento massivo de dados e rotinas com grande volume de leitura e escrita.
Capacidade de analisar planos de execução, gargalos de performance e impactos em processos críticos.
Mensageria, cache e integração:
Experiência com mensageria, preferencialmente Kafka e/ou RabbitMQ.
Conhecimento em processamento orientado a eventos.
Experiência com Redis ou soluções equivalentes de cache distribuído.
Experiência com ingestão, processamento e geração de arquivos.
Cloud, containers e infraestrutura:
Experiência com Docker e ambientes conteinerizados.
Conhecimento em Kubernetes.
Experiência ou familiaridade com ambientes cloud, como AWS, Azure ou GCP.
Conhecimento em aplicações escaláveis, resilientes e preparadas para ambientes de alta disponibilidade.
Meios de pagamento / adquirência:
Experiência com sistemas de meios de pagamento de alta criticidade.
Experiência com sistemas de adquirência, preferencialmente em rotinas de clearing e liquidação.
Conhecimento ou vivência em arquivos de bandeiras, arquivos de clearing, arquivos de liquidação ou rotinas equivalentes.
Capacidade de interpretar documentação técnica, especificações funcionais e regras de negócio relacionadas a meios de pagamento.
Conhecimento sobre consistência, rastreabilidade e controle de processamento em rotinas de clearing.
Segurança:
Conhecimento em boas práticas de segurança para sistemas de meios de pagamento.
Atenção a controles de acesso, proteção de dados, rastreabilidade, auditoria e tratamento seguro de informações sensíveis.
Ferramentas e práticas:
Git.
Maven.
Jira ou ferramentas equivalentes.
IDEs Java, como IntelliJ IDEA ou Eclipse.
Inglês técnico para leitura de documentação, manuais e materiais técnicos.
Diferenciais desejáveis:
Conhecimento em fluxos de clearing de bandeiras como Mastercard, Visa, Elo ou Amex.
Experiência com arquivos de clearing, liquidação, chargeback, interchange fee ou fee collection.
Experiência com observabilidade: logs estruturados, métricas, tracing e monitoramento.
Conhecimento em OpenTelemetry, Elastic, Grafana, Prometheus ou ferramentas similares.
Experiência com arquitetura de alta disponibilidade.
Experiência com performance tuning de aplicações Java.
Experiência com performance tuning em banco de dados.
Conhecimento em processamento de grandes volumes em janelas operacionais restritas.
Experiência com ferramentas de IA para apoio ao desenvolvimento, como Claude, ChatGPT, GitHub Copilot ou similares.
Perfil comportamental esperado:
Perfil analítico e investigativo.
Capacidade de atuar em sistemas críticos e de alto volume.
Organização para trabalhar com regras complexas de negócio.
Atenção a detalhes, especialmente em processamento de meios de pagamento.
Capacidade de entender fluxos técnicos e funcionais.
Boa comunicação com times técnicos e áreas de negócio.
Autonomia, responsabilidade e senso de dono.
Capacidade de investigar problemas complexos de produção com calma, método e visão sistêmica.
Compromisso com qualidade, rastreabilidade, segurança e estabilidade operacional.