Desenvolvedor(a) Backend Sênior
Description
Desenvolvedor(a) Backend Sênior – Node.js / TypeScript
Sobre a oportunidade
Buscamos um(a) Desenvolvedor(a) Backend Sênior para atuar na construção de componentes responsáveis pela consistência, integridade e rastreabilidade de dados em um sistema distribuído.
O profissional será responsável pelo desenvolvimento de estruturas que permitam reconstruir estados a partir de eventos registrados, garantir operações atômicas e coordenar o tratamento de divergências e exceções entre participantes.
Principais responsabilidades
Desenvolver o Shared Map, uma projeção de dados derivada do Journal, atualizada a cada evento aceito.
Implementar a reconstrução completa do Shared Map, comparando o resultado com o estado atual e gerando relatórios de divergências.
Desenvolver mecanismos de execução atômica para impedir que um mesmo valor seja processado ou dividido mais de uma vez.
Implementar estruturas de controle de concorrência e consistência de dados.
Desenvolver o Case Header, responsável pelo registro e acompanhamento de casos de divergência, incluindo responsáveis, prazos (SLA), evidências e critérios de encerramento.
Atuar como referência técnica da squad C4 em modelagem de dados, consistência e concorrência.
Participar de revisões de código e apoiar a definição de boas práticas técnicas.
Prioridades iniciais: reconstrução do Shared Map e controle de execução atômica (OT-03). O desenvolvimento do Case Header está previsto para uma etapa posterior do backlog da squad C4.
Requisitos obrigatórios
Experiência com desenvolvimento backend.
Experiência prática com Node.js e TypeScript em produção.
Experiência com sistemas que exigem alta consistência e integridade de registros, como ledger, contabilidade, conciliação, Event Sourcing ou CQRS.
Conhecimento sólido de Event Sourcing, projeções de leitura e reconstrução determinística de estado.
PostgreSQL avançado, incluindo transações, níveis de isolamento, locks, constraints, índices e particionamento.
Experiência com operações atômicas e controle de concorrência.
Experiência na modelagem de máquinas de estado e fluxos com SLA.
Domínio de Node.js e TypeScript, incluindo desenvolvimento e testes automatizados.
Requisitos
Requisitos desejáveis
Experiência com ledger, conciliação financeira ou split de pagamentos.
Conhecimento de processos de aprovação em quatro olhos (maker-checker) e trilhas de auditoria.
Experiência com modelagem em grafos ou múltiplas projeções de dados.
Conhecimento de LGPD e práticas de minimização de dados.
Perfil esperado
Profissional sênior, com forte capacidade de análise e domínio de arquitetura backend, que tenha experiência prática em sistemas nos quais a integridade dos dados e a prevenção de inconsistências são fundamentais.
É importante ter autonomia técnica para propor soluções, analisar cenários de concorrência e garantir que as operações sejam executadas de forma segura, rastreável e consistente.