DEFINIÇÃO:
O Coding DoJo é uma reunião onde um grupo de programadores trabalham juntos num desafio de programação.
Quando Dave Thomas introduziu a idéia do compartilhamento do código foi com o objetivo de obter os melhores resultados, o que você precisa para praticar. Várias teorias de aprendizagem (em especial as propostas pelo Dr. K. Anders Ericsson) sugerem que esta prática durante um longo período de tempo é o foco do sucesso.
Isto não é a mesma coisa que a experiência adquirida durante o seu trabalho. Mas quando você realmente busca experiências que irão extender suas habilidades e dar-lhe resultados que proporcional o aprendizado. Tem uma grande dose de auto-disciplina para sozinho fazer um código compartilhado, e pode ser difícil para obter um bom resultado sem outra pessoa presente ou, pelo menos, disponível para rever o seu código depois de pronto.
Ir para um CodingDojo é extremamente útil porque é divertido ir, socializar e conhecer outras pessoas. O que significa que você realmenter irá aprender alguma coisa. Na reunião quando você está fazendo um código compartilha com outros e tem de aprender a aceitar críticas e defender suas idéias. Você tem resultado não somente do código produzido mas da técnica utilizada. Você expõe para outras pessoas as dicas e truques da linguagem e do editor e vê outros caminhos para codificar. Se já trabalha em equipe então nada disto deve ser novidade para você, mas ainda assim é diferente pelas pessoas envolvidas. O código produzido é preservado num “Wiki” em algum lugar e preservado por um bom tempo. Desta forma numa próxima reunião você pode aproveitar o mesmo código se achar que pode melhorá-lo.
PREMISSA:
- Aquisição de novas experiências deveria ser um processo contínuo.
CARACTERÍSTICAS:
- Ambiente não competitivo, colaborativo e divertido
- Todos os níveis são bem vindos
- Liberdade para tentar novas idéias
NECESSIDADES:
- Sala de reuniões com lugares para todos
- Ao menos um computador ou NoteBook
- Um projetor
PROCESSO:
Tomando como base o ParisDojo (realizado na França):
- 2 minutos: Decidira data para a próxima reunião
- 25 a 30 minutos: Breve retrospectiva da última reunião
- 10 minutos: Decidir um tópico para a presente reunião
- Os três primeiros tópicos são chamados de protocolos “next”, “prev” e “this”
- 40 minutos: Código! Dados preparados ou aleatórios (veja abaixo)
- 5 a 10 minutos: Pausa na metade da reunião para discutir como as coisas estão indo
- 40 minutos: Mais código.
TIPOS DE REUNIÕES:
- Dados preparados:
- Um apresentador mostra como resolver um desafio partindo do “zero” testando cada parte do processo.
- Cada etapa deve fazer sentido para todos os participantes.
- Os participantes devem interromper apenas em caso de dúvidas.
- Dados aleatórios:
- O desafio é resolvido por uma dupla de codificadores (piloto e co-piloto)
- Todos os participantes são convidados a ajudar.
- Cada dupla tem um pequeno tempo (5 a 7 minutos) de antecedência para testar seu código.
Fonte: Blog do Marcelo Torres