Seleção conduzida pela Sylision. A empresa contratante é confidencial neste anúncio. Modelo 100% remoto. Contratação: tempo integral, CLT ou PJ. **Sobre o trabalho** A empresa está tirando função por função de sistemas antigos e colocando na plataforma nova. Cada pedaço que sai exige carregar o histórico correspondente, e esse é o trabalho desta vaga: ler o dado do legado (Oracle e arquivo exportado), transformar para o modelo novo em PostgreSQL e provar que os dois lados batem. Você vai construir cargas com Spring Batch que podem ser repetidas quantas vezes for preciso sem gerar registro duplicado nem apagar o que foi corrigido depois. E vai construir a parte que costuma faltar: a reconciliação. Contagem por período, soma por conta, amostra comparada campo a campo, com relatório que alguém de fora do time consiga ler antes de autorizar a virada. Existe uma parte de arqueologia aqui. Coluna sem documentação, campo reaproveitado para outra finalidade, data guardada como texto em três formatos. Descobrir a regra real do dado antigo é metade do serviço. **O que você vai fazer** * Construir cargas em lote com Spring Batch, particionadas e repetíveis. * Mapear o modelo antigo para o novo e registrar cada decisão de conversão. * Implementar reconciliação por contagem, por soma e por amostra comparada. * Tratar dado inconsistente da origem com regra explícita, em vez de descartar em silêncio. * Medir e melhorar o tempo total da carga, porque a janela de virada é curta. * Preparar e testar o procedimento de volta antes de cada virada. * Apresentar o resultado da reconciliação a quem autoriza a virada. **Requisitos** * De 2 a 4 anos escrevendo Java em produção. * SQL forte: plano de execução, índice, junção grande, agregação sobre volume. * Experiência com processamento em lote e com o que acontece quando ele falha no meio. * Ter trabalhado com mais de um banco relacional e entender diferença de tipo e de precisão. * Método para provar resultado com número, não com impressão. **Diferenciais** * Spring Batch especificamente, com particionamento. * Ter participado de migração de sistema legado antes. * Oracle, incluindo PL/SQL de leitura. * Ferramenta de versionamento de esquema (Flyway ou Liquibase). * Ter automatizado comparação entre dois bancos. **Como é trabalhar aqui** O time é remoto no Brasil. Virada de dado é evento marcado com antecedência, com plano escrito e com hora combinada, e ninguém vira nada sozinho. O trabalho é revisado por outra pessoa e o relatório de reconciliação é o critério de aceite. Se os números não batem, a virada não acontece, e isso não conta como atraso seu. **Benefícios oferecidos pela empresa contratante** * 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 **Tecnologias** Java, Spring Batch, PostgreSQL, Oracle, SQL, Flyway, Docker, Git, JUnit **Como funciona o processo** A busca é feita por pessoas: quando o seu perfil combina com a vaga, a Sylision entra em contato, normalmente por WhatsApp. O seu currículo também passa a valer para os próximos processos compatíveis. Os seus dados são tratados conforme a LGPD, e a remoção é feita a qualquer momento, a seu pedido. **Como se candidatar** A candidatura é feita no site da Sylision. Acesse a página da vaga, leia a descrição completa e envie o seu currículo por lá: https://sylision.com/vagas/desenvolvedor\-java\-pleno\-migracao\-de\-dados\-365 Benefícios: * Trabalho remoto Local do trabalho: Remoto