No mundo da tecnologia da informação as novidades surgem a todo momento. Por mais que um time procure se manter atualizado sobre tudo, é extremamente importante existir um ambiente onde novas técnicas possam ser aprendidas, testadas, praticadas e compartilhadas.

Dojo, (pronuncia-se Dojô) é uma palavra de origem japonesa e significa “local de treinamento”. Portanto, o Coding Dojo nada mais é que do um “local de treinamento de código”, ou “local de treinamento de programação”. Formatos

Existem alguns formatos que são utilizados para a realização de Coding Dojos:

  • Kata: Nesse formato existe a figura do apresentador. Ele deve demonstrar uma solução pronta, previamente desenvolvida. O objetivo é que todos os participantes sejam capazes de reproduzir a solução alcançando o mesmo resultado, sendo permitido realizar interrupções para sanar dúvidas a qualquer momento;

  • Randori: Nesse formato há a participação de todos. É proposto um problema a ser resolvido e a programação é realizada em apenas uma máquina, por pares. Para esse formato é imprescindível a utilização de TDD e passos de bebê. A pessoa que está codificando é o piloto, e seu par o co-piloto. A cada cinco minutos o piloto volta para a plateia e o co-piloto assume a condição de piloto. Uma pessoa da plateia passa a assumir a posição de co-piloto. Somente são permitidas interrupções quando todos os testes estiverem no verde. É importante notar também que é a dupla quem decide o que será feito para solucionar o problema. Todos devem entender a solução, que deve ser explicada pelo piloto e pelo co-piloto ao final de seu ciclo de implementação;

  • Kake: É um formato semelhante ao Randori, porém há várias duplas trabalhando simultaneamente. A cada turno as duplas são trocadas, promovendo a integração entre todos os participantes do evento. Nesse formato um conhecimento mais avançado dos participantes é necessário.

Vantagens

O Coding Dojo é um ambiente seguro para testar novas ideias, promover o networking e compartilhamento de ideias entre os membros da equipe. É muito comum empresas promoverem Dojos abertos. Dessa forma a empresa pode conhecer profissionais que possam se adequar ao seu ambiente e os profissionais também tem a oportunidade de conhecer o ambiente dessas empresas.

O Dojo não é uma competição sobre quem resolve o problema mais rápido, ou qual solução é melhor implementada.

Obviamente o conhecimento obtido durante a execução do Coding Dojo é utilizado pelos programadores nas tarefas de seu dia a dia, o que faz com que a qualidade do trabalho “real” produzido também aumente, de forma indireta, com a realização de Coding Dojos.

Valores

A realização de um Coding Dojo bem sucedido depende e fortalece alguns valores em todos os profissionais envolvidos. Entre eles, podemos destacar alguns:

  • Cooperação: A solução para o problema proposto é construída com a cooperação de todos os participantes, o que cria um ambiente colaborativo;
  • Participação: Todos os participantes participam da resolução do problema, o que cria um sentimento de igualdade entre todos os envolvidos. Não existem opiniões mais “importantes”;
  • Coragem: É necessário coragem para sair da zona de conforto e enfrentar um desafio. O ambiente do Coding Dojo propicia que todos desenvolvam essa característica, trabalhando em projetos que permitem que aconteçam erros, sem estar diretamente envolvido na rotina normal de um projeto (prazo, custo, etc);
  • Respeito: Todos os participantes devem respeitar a solução proposta pelos demais, mesmo conhecendo maneiras diferentes de resolver o problema. Como o intuito é aprender, o respeito pelo tempo de cada participante é fundamental;
  • Simplicidade: O Coding Dojo serve para compartilhar conhecimentos e experiências entre os participantes. Como cada participante pode estar em um nível técnico diferente, é importante que seja mantida a simplicidade tanto no problema composto como na solução implementada, de forma que todos consigam entender exatamente o que está sendo feito.

Post adaptado do site da DevMedia intitulado de O que é o Coding Dojo