Um Coding Dojo é um encontro onde um grupo de programadores se reúnem para trabalhar em um desafio de programação. Eles estão lá para se divertir e se envolver em práticas deliberadas, a fim de melhorar suas habilidades.
- O desafio é resolvido pelo par de codificação (piloto e co-piloto)
- Todos os participantes são convidados a ajudar
- Cada par tem 5 minutos para avançar, usando TDD e BabySteps.
- Ao final dos 5 minutos, o piloto volta para a platéia e o co-piloto toma a frente
- A plateia deve ficar em silêncio, a menos que o piloto solicite ajuda
Uma regra importante sobre o Dojo é: no Dojo não se pode discutir uma forma sem código, e não se pode mostrar código sem testes. É um lugar de treinamento de design, onde se reconhece que "o código é o design" e que o código sem testes simplesmente não existe.
O mestre não pode ser um mestre de todas as formas. Você pode se sentir à vontade com funções recursivas e listas de processamento, por exemplo, mas não saber como criar um aplicativo web simples. Outros praticantes podem estar lidando pela primeira vez com "tail-recursion", mas têm feito aplicações web profissionais há anos!
Claro, você sabe como fazê-lo. Você sabe como e por que este código é melhor do que aquele. Você já fez isso. O ponto é fazê-lo agora, explicar isso para nós e compartilhar o que você aprendeu.
A fim de aprender algo de novo, só temos que esquecer. Mas não é fácil esquecer de algo quando você está sozinho. É mais fácil quando damos a nossa atenção a alguém que apenas tenta aprender pela primeira vez. Podemos aprender os erros dos outros, bem como os nossos, se ouvirmos com atenção.
Aprender algo deve forçá-lo a desacelerar. Você pode ir mais rápido porque você aprendeu alguns truques, mas você não pode ir mais rápido e aprender ao mesmo tempo. Tudo bem, nós não estamos com pressa. Nós poderíamos fazer isso por anos. Alguns de nós certamente. Que tipo de prazo vamos perder se gastarmos mais de quatro semanas sobre este assunto, em vez de quatro temas diferentes? Mais precisamente, quando chegarmos ao próximo patamar, é porque passamos o anterior, ou é apenas porque estávamos voando sobre isso?
Em algum momento alguém começa a dominar um assunto e quer se aproximar de outro. Aqueles ameaçados pelo tédio devem se atirar pela primeira vez em uma apresentação. O objetivo é voltar a um bom nível de motivação, ou seja, um nível aceitável de dificuldade.
Se parece difícil para você, procure outros praticantes que possam julgar o seu código e que poderiam facilmente mostrar algo novo sobre isso para você. Pergunte novamente até que o assunto não seja mais uma dificuldade para você.
Se parece fácil para você, explique aos que acham difícil. Explique novamente, até que não tenha mais dificuldades
-- Adaptado de http://codingdojo.org