Todo fim de ano alguém do time vira "a pessoa do amigo secreto". Normalmente isso começa com uma planilha compartilhada, passa por um grupo de WhatsApp com 40 mensagens sobre o valor e termina com alguém tirando o próprio nome no papelzinho.
Dá para fazer isso com bem menos atrito. Este é o checklist que eu uso, na ordem.
1. Feche três números antes de falar em sorteio
- Teto do presente. Um valor só, por exemplo até R$ 50. Combine se o frete entra no teto.
- Data da troca. Escolha primeiro a data e conte para trás: o sorteio sai pelo menos duas semanas antes.
- Prazo para entrar. Quem não confirmou até o prazo fica de fora. Sem isso o sorteio nunca acontece.
Mande isso numa mensagem só, fixada no canal do time:
Amigo secreto do time
Teto: até R$ 50 (frete conta)
Sorteio: 20/11
Troca: na confra, 12/12
Entra quem responder até 18/11
2. Lista de participantes com uma fonte só
O problema da planilha é que ela vira três versões. Tenha uma lista, com nome e um contato. Se tiver casal ou dupla que não pode se tirar, anote já nesse passo.
3. Sorteio sem ninguém ver os pares
O ponto fraco de quem organiza é saber quem tirou quem. Papelzinho também falha: alguém tira o próprio nome e o sorteio recomeça na frente de todo mundo.
O que você quer de qualquer método:
- ninguém tira a si mesmo;
- restrições respeitadas (casais, chefe e liderado, se o time preferir);
- cada pessoa recebe só o próprio par, em link ou mensagem individual;
- quem organiza também participa sem saber os pares.
Se for fazer na mão, um jeito simples é a "roda": embaralhe a lista e cada pessoa dá presente para a próxima, e a última para a primeira. Ninguém tira a si mesmo, mas alguém ainda precisa avisar cada um, e esse alguém fica sabendo de tudo.
4. Lista de desejos curta
Peça três ideias por pessoa, pelo menos uma abaixo do teto. Isso acaba com o "não sabia o que te dar" e com a caneca número sete.
5. Lembrete na semana da troca
Uma mensagem no canal, dois dias antes: data, horário, teto. Só isso.
6. No dia: revelação rápida
Fila de entrega é constrangedora. Faça uma rodada de "adivinhe quem te tirou": cada um dá uma pista sobre quem tirou, e o grupo chuta. Em 15 minutos acabou e virou brincadeira.
Resumo para copiar
- [ ] Teto, data da troca e prazo definidos
- [ ] Mensagem fixada no canal
- [ ] Lista única com restrições anotadas
- [ ] Sorteio que manda só o par de cada um
- [ ] Três ideias de presente por pessoa
- [ ] Lembrete dois dias antes
- [ ] Rodada de pistas na troca
Se o time também vai ter confraternização com convite e lista de presença, eu tenho usado o TeConvidei, que junta convite, confirmação, check-in por QR e o amigo secreto da equipe no mesmo lugar: https://www.teconvidei.com/empresas?utm_source=devto&utm_medium=social&utm_campaign=confra2026
(Aviso: é uma ferramenta que eu divulgo.)
P.S.: se o time preferir fazer no papel, eu também fiz um Kit Amigo Secreto Imprimível: https://pay.kiwify.com.br/bBXLBnM?src=devto (Aviso: produto meu.)
Top comments (1)
Tem um detalhe técnico que faz bastante diferença quando o sorteio envolve equipes maiores: as restrições podem tornar uma distribuição aparentemente simples impossível.
Pensa em uma empresa com 40 pessoas, onde ninguém pode tirar a si mesmo, casais não podem se sortear, gestores não podem tirar seus subordinados diretos e os pares do ano anterior precisam ser evitados.
Nesse cenário, eu não usaria apenas um
shuffle()com várias tentativas. Modelaria o problema como um matching em grafo bipartido. Cada participante seria um nó de origem, cada possível destinatário seria um nó de destino e as combinações proibidas seriam removidas das arestas.Por exemplo, se o participante
employee_17já tirouemployee_08no ano passado eemployee_08é seu subordinado direto, essa combinação nem deveria entrar na lista de candidatos.Uma implementação poderia manter as restrições em uma estrutura como
Map<EmployeeId, Set<EmployeeId>>e usar um algoritmo de matching, como Hopcroft-Karp, para encontrar uma distribuição completa. Antes de confirmar o resultado, também validaria se todos os 40 participantes receberam exatamente um destinatário e se nenhum destinatário apareceu mais de uma vez.Outro detalhe importante é tratar a geração como uma operação transacional: primeiro validar e gerar os pares, depois persistir o resultado e só então disparar as notificações. Se o processo falhar no meio, você não quer enviar metade dos resultados e deixar o restante inconsistente.
No fim, o problema não é simplesmente sortear nomes. É garantir que todas as restrições sejam respeitadas sem comprometer a integridade da distribuição.