Repository navigation
Description
Nossa empresa
Confidencial (vaga via Sylision): a empresa contratante não é nomeada neste anúncio. A seleção é conduzida pela Sylision.
Descrição da vaga
A carteira digital guarda saldo, recebe depósitos, faz pagamentos e transferências entre usuários. Cada operação é um lançamento num livro razão: débito numa conta, crédito em outra, sempre em pares e sempre somando zero. O saldo é derivado desses lançamentos, e qualquer atalho que altere saldo diretamente vira um buraco difícil de explicar depois. Você vai cuidar de funcionalidades inteiras no serviço em Java com Spring Boot, do desenho da API ao teste de integração. O volume pede atenção a concorrência e desempenho: transferências simultâneas da mesma conta não podem gastar o mesmo saldo duas vezes, e o extrato precisa responder rápido mesmo para contas com muito movimento acumulado. Os eventos de cada operação são publicados no Kafka para antifraude, notificação e contabilidade. Estorno, limite diário por tipo de operação e bloqueio cautelar por suspeita de fraude são regras que você vai implementar e manter, decidindo dentro do módulo como modelar cada uma.
- Implementar depósito, pagamento e transferência como lançamentos em partidas dobradas
- Controlar a concorrência no saldo com bloqueio no PostgreSQL e chave de idempotência
- Publicar os eventos de cada operação no Kafka com garantia de entrega
- Implementar limites diários configuráveis por tipo de operação e por perfil
- Otimizar a consulta de extrato com índices e paginação por cursor
- Escrever testes de integração com Testcontainers cobrindo concorrência
- Investigar divergências de saldo e corrigir a causa, não só o sintoma
- Revisar o código de colegas do módulo
Local
100% remoto, no Brasil
Requisitos
Obrigatórios:
- Java e Spring Boot no dia a dia, incluindo transação e configuração
- JPA com entendimento do SQL que ela gera e de quando evitá-la
- PostgreSQL com índices, plano de execução e níveis de isolamento
- Mensageria com Kafka ou similar, sabendo lidar com reenvio e duplicidade
- Testes de unidade e de integração como parte da entrega
- Entregar uma funcionalidade completa por conta própria, da API à produção
Diferenciais:
- Noção de contabilidade em partidas dobradas
- Padrão de outbox para publicar eventos de forma consistente
- Redis para limite de taxa ou cache
- Observabilidade com métricas e rastreamento distribuído
- Vivência com sistema financeiro regulado
Benefícios
- Ambiente colaborativo, com senso de comunidade e conquistas celebradas em equipe
- Trabalhe de qualquer lugar, com liberdade e flexibilidade
- Conexão global: convivência com times de diferentes países e culturas
- Apoio à saúde física com TotalPass e Mediquo
- Cuidado com a saúde mental pelo programa Team Care
- Contratação e jornada definidas com a empresa contratante
Contratação
CLT ou PJ. Faixa salarial: R$ 5.000 a R$ 6.500 por mês.
Como se candidatar
Pela página da vaga: https://www.sylision.com/vagas/desenvolvedor-java-pleno-carteira-digital-518?utm_source=github&utm_medium=comunidade&utm_campaign=soujava
Tempo médio de feedbacks
Contato para retorno do processo: giovani.poleto@sylision.com
Esta issue é encerrada quando a vaga fecha ou em até 28 dias.
Activity