Repository navigation
[Remoto] Desenvolvedor(a) Java Júnior (Fila de Pedidos) | Confidencial (vaga via Sylision) #1969
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
Pedido entra pela API, responde rápido para quem chamou e segue para processamento assíncrono. Do outro lado, consumidores em Java com Spring Boot leem de tópicos do Apache Kafka, avançam a situação do pedido, gravam em PostgreSQL e publicam o evento seguinte. Você vai trabalhar nesses consumidores e no desenho de estados do pedido. Três coisas dominam o dia a dia. Ordem, porque dois eventos do mesmo pedido não podem ser aplicados fora de sequência. Idempotência, porque mensagem se repete e aplicar duas vezes não pode mudar o resultado. E mensagem que não processa de jeito nenhum, que vai para a fila de mensagem morta e precisa de um caminho claro de reprocessamento depois da correção. Também existe a parte visível: endpoint para consultar a situação do pedido e o histórico de transições. Quando alguém pergunta por que um pedido parou, a resposta tem de sair do histórico gravado, não de investigação manual em log espalhado.
- Implementar consumidores Kafka que avançam a situação do pedido
- Garantir idempotência do consumo, para mensagem repetida não duplicar efeito
- Respeitar ordem por chave de pedido e tratar evento que chega adiantado
- Encaminhar mensagem irrecuperavel para fila de mensagem morta com o motivo
- Construir a rotina de reprocessamento do que ficou parado
- Expor consulta de situação e histórico de transições por endpoint REST
- Escrever teste de consumidor, incluindo mensagem duplicada e fora de ordem
Local
100% remoto, no Brasil
Requisitos
Obrigatórios:
- Formação em andamento ou concluída em curso de tecnologia, ou projeto próprio publicado com código Java seu
- Java com orientação a objetos, coleções e tratamento de exceção
- Noção de Spring Boot
- SQL de consulta e escrita em banco relacional
- Entender a diferença entre processar na hora e processar depois, com fila no meio
- Git no dia a dia
Diferenciais:
- Já ter usado Kafka, RabbitMQ ou qualquer mensageria, mesmo em estudo
- Noção de máquina de estados aplicada a pedido ou a processo
- Docker Compose para subir fila, banco e aplicação localmente
- Ter escrito teste de integração com dependência em container
- Curiosidade por entrega no mínimo uma vez e por que isso exige idempotência
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$ 4.100 a R$ 5.600 por mês.
Como se candidatar
Pela página da vaga: https://www.sylision.com/vagas/desenvolvedor-java-junior-fila-de-pedidos-468?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