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
O back-end do chat de atendimento recebe mensagens do site, do aplicativo e de canais de mensagem, coloca cada conversa na fila certa, distribui entre atendentes disponíveis e entrega as mensagens em tempo real para os dois lados. Também guarda o histórico completo, mede o tempo de espera e de resposta e aciona o robô de primeiro atendimento antes de passar a conversa para uma pessoa. O serviço é escrito em Java com Spring Boot, e as conexões em tempo real ficam espalhadas por várias instâncias, então uma mensagem precisa chegar ao atendente certo, esteja ele conectado em qual instância estiver, sem duplicar e sem perder a ordem. A distribuição precisa respeitar o limite de conversas simultâneas de cada atendente e redistribuir quando alguém sai. Mensagens de canais externos chegam por webhook, às vezes repetidas e fora de ordem, e precisam ser normalizadas antes de entrar na conversa. A modelagem de conversa, fila e distribuição dentro do serviço fica sob sua responsabilidade.
- Entregar mensagens em tempo real por WebSocket entre várias instâncias usando Redis
- Garantir ordem e ausência de duplicidade nas mensagens de cada conversa
- Implementar a distribuição de conversas por fila, habilidade e limite de cada atendente
- Receber e normalizar mensagens de canais externos por webhook
- Medir os tempos de espera e de resposta por fila
- Integrar a passagem do robô de primeiro atendimento para o atendente
- Escrever testes de integração com Testcontainers
Local
100% remoto, no Brasil
Requisitos
Obrigatórios:
- Java e Spring Boot em produção
- WebSocket e comunicação em tempo real com várias instâncias
- Redis para publicação e assinatura ou para estado compartilhado
- PostgreSQL com modelagem de conversas e mensagens
- Testes de integração que reproduzem várias instâncias conectadas
- Autonomia para entregar funcionalidade completa e decidir dentro do serviço
Diferenciais:
- Ter trabalhado com chat, atendimento ou mensageria em tempo real
- RabbitMQ ou Kafka
- Integração com APIs de canais de mensagem
- Observabilidade de conexões e de filas
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-atendimento-por-chat-560?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