Repository navigation
[Remoto] Desenvolvedor(a) Java Júnior (Notificações) | Confidencial (vaga via Sylision) #1974
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
Um mesmo evento, como pedido enviado ou senha alterada, pode gerar e-mail, SMS e notificação no celular, cada um com seu modelo de texto e suas regras. O serviço de notificações em Java com Spring Boot recebe esses eventos por fila, escolhe os canais conforme a preferência da pessoa, monta a mensagem e entrega para o provedor de cada canal. O que costuma dar errado é previsível: provedor fora do ar, mensagem disparada duas vezes porque o evento foi reenviado, aviso sem urgência enviado de madrugada, pessoa que pediu para não receber e recebeu mesmo assim. O sistema registra cada envio para que dê para responder, depois, se a mensagem saiu e por qual canal. Os modelos de mensagem mudam com frequência e são editados por quem não programa. O serviço precisa validar as variáveis antes do envio, para que nenhum cliente receba um texto com campo vazio ou com o nome de outra pessoa.
- Consumir eventos de uma fila RabbitMQ e decidir os canais de envio
- Respeitar a preferência de cada pessoa e o descadastro de comunicações
- Montar as mensagens a partir de modelos com variáveis
- Evitar envio duplicado usando o identificador do evento
- Implementar novas tentativas com intervalo crescente quando o provedor falha
- Gravar o histórico de envios no PostgreSQL para consulta
- Escrever testes com JUnit 5 para preferência, duplicidade e falha de provedor
Local
100% remoto, no Brasil
Requisitos
Obrigatórios:
- Curso de tecnologia, estágio ou projeto próprio em Java
- Java com orientação a objetos e tratamento de exceção
- Noção de Spring Boot e de injeção de dependência
- SQL para gravar e consultar histórico
- Entender, mesmo por estudo, o que uma fila de mensagens resolve
- Git no fluxo de branch e revisão
Diferenciais:
- RabbitMQ ou Kafka, mesmo em estudo
- Docker Compose com fila e banco
- Noção de horário de silêncio e de fuso na hora de notificar
- Ter integrado algum serviço de e-mail transacional
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$ 3.000 a R$ 4.500 por mês.
Como se candidatar
Pela página da vaga: https://www.sylision.com/vagas/desenvolvedor-java-junior-notificacoes-487?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