BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Artigos Coding Dojos: aprendizado, troca de informações e networking na programação

Coding Dojos: aprendizado, troca de informações e networking na programação

Favoritos

Há algum tempo na Comunidade Ágil, ouve-se falar em Coding Dojos como forma interessante e produtiva de se aprender técnicas novas de desenvolvimento. Os dojos têm sido até mesmo utilizados em algumas faculdades como forma de ensinar linguagens e técnicas ágeis. São eventos sociais, em que um grupo de desenvolvedores se reúne para fazer networking e compartilhar conhecimentos. A ideia é favorecer o aprendizado voluntário e colaborativo.

Um dojo deve promover um ambiente divertido e cooperativo, sem enfoque na competição. Todos os níveis de conhecimento sobre o tema do encontro são bem-vindos, criando-se assim um ambiente seguro para testar novas ideias. Alem disso, coding dojos são uma ótima ferramenta para ensinar o básico de uma linguagem de programação, procurar soluções para um problema complexo, ou até mesmo incentivar desenvolvedores a colaborar com projetos open source.

Passos para um dojo

Para montar um dojo, os requisitos são uma sala de reuniões confortável para os participantes, um computador com o ambiente de desenvolvimento desejado já instalado e funcionando, além de um projetor para que todos os participantes possam ver o que está sendo feito.

"Dojo" (pronuncia-se dojô) é uma palavra japonesa originada das artes marciais. Os dojos são locais onde estudantes de luta se reúnem para treinamentos e atividades relacionadas (como desafios ou testes para mudança de faixa). Como parte do treinamento, são realizados vários tipos de "Kata", que são sequências precisas de movimentos de luta, usadas geralmente para exercitar técnicas de defesa.

Os Coding Dojos pegam emprestado este último termo para identificar a dinâmica adotada no encontro. A mais utilizada é a Randori Kata, que funciona da seguinte forma:

  1. É estabelecido um problema a ser solucionado durante o dojo.
  2. Uma dupla de programadores resolve uma parte do problema programando em par, utilizando o desenvolvimento orientado a testes (TDD) e Baby Steps. Os componentes do par são chamados "piloto" e "copiloto".
  3. Cada par tem entre 5 e 7 minutos para solucionar uma parte do problema.
  4. Ao final do período, o par interrompe seu trabalho onde estava e o copiloto assume o teclado. O piloto volta à plateia e alguém da plateia assume o posto de copiloto, para mais um turno de programação.

Há outras regras importantes a serem seguidas:

  1. O par decide o que vai ser feito para solucionar o problema; o próximo par continua a implementação.
  2. A plateia só pode dar sugestões para modificar ou melhorar o código quando todos os testes estiverem passando. E quando a implementação estiver pela metade, não é permitido atrapalhar o par.

O dojo é considerado como um sucesso se o problema proposto for resolvido dentro do tempo predefinido e todos os presentes tiverem aprendido o suficiente para duplicar a solução em casa. Para quem vai pela primeira vez a um dojo, pode ser difícil não oferecer opiniões constantes sobre como resolver o problema, mas – e talvez por isso mesmo – trata-se de uma experiência bastante divertida.

Participação

Existem diversos sites com endereços e datas de dojos acontecendo pelo Brasil, como por exemplo:

  1. O Dojomap, mantido pelo pessoal do #horaextra
  2. O site de dojos da ThoughtWorks com datas, detalhes e endereços dos dojos que acontecem nos escritórios da empresa pelo mundo, sempre abertos ao público em geral.
  3. O site do GURU-RS com a lista dos próximos dojos de Ruby organizados por este grupo de usuários de Ruby do Rio Grande do Sul
  4. O Dojorio, que mantém anúncios de dojos no Rio de Janeiro.

Há também sites descrevendo o funcionamento de coding dojos e suas diversas variantes.

Entrevista

A melhor forma de conhecer e entender como funcionam os dojos e porque estão se multiplicando tanto, é participando você mesmo de um desses eventos. Outra boa opção é perguntar para quem já participou ou organizou. Foi o que fizemos, entrevistando Henrique Bastos, um veterano em Dojos e um dos fundadores do Dojorio. Henrique vem participando e organizando Dojos há quase três anos e usa as dinâmicas desses eventos em várias atividades, profissionais e acadêmicas.  

Rodrigo Urubatan (RU): Como foi o Início do Dojorio e quando você começou a participar?

Henrique Bastos (HB): Em outubro de 2008, no evento PythonBrasil 2008 que aconteceu no Rio, o amigo Rodolfo Carvalho montou um Dojo que chamou muita atenção. Em seguida, foi tentada a organização de um dojo semanal, mas foi difícil encontrar um espaço. Somente em dezembro de 2008, Rodolfo e Flávio Amieiro conseguiram estabelecer o Dojorio.
Só participei do Dojorio pela primeira vez no início de 2009. Rodolfo vinha insistindo no convite havia algum tempo, mas eu estava muito ocupado organizando a PythonCampus. Então ele propôs se juntar à organização do evento, para que sobrasse tempo para participarmos do Dojorio. Acho que nunca o agradeci o suficiente por isso!

RU: Qual sua opinião sobre a utilização de dojos como ferramenta de ensino em faculdades e cursos de programação em geral?

HB: Não há maneira melhor de ensinar! Temos levado o modelo do Dojorio para diversas universidades. Muitos professores estão obtendo resultados surpreendentes com a utilização das dinâmicas dos dojos para ensinar – principalmente em matérias de introdução à programação. E tenho tido bastante sucesso com o uso de dojos em meus treinamentos.

RU: Você já utilizou um dojo em uma empresa? Como foi a experiência?

HB: Com o sucesso do Dojorio, decidimos fazer dojos semanais na Myfreecomm (empresa nacional de softwares financeiros). Tem sido fantástico para compartilhar experiências e discutir diferentes visões, que, por razões diversas, acabam não emergindo no dia a dia. Uma curiosidade é que a dinâmica de compartilhamento dos dojos vence inclusive barreiras culturais. Em Orlando, na Flórida, Caike Souza, integrante da turma do Dojorio, tem tido muito sucesso com as iniciativas do OrlandoDojo. E após eu levar o Dojo para a PyCon 2010, uma participante da India gostou da ideia e levou a dinâmica para sua comunidade em Bangalore, Índia.

RU: Você gostaria de acrescentar algo sobre a experiência com dojos?

HB: Sim. Parece haver mais do que uma simples dinâmica nos fundamentos dos dojos. Por isso, um participante do Dojorio está escrevendo seu TCC em Ciência da Computação sobre o uso dos dojos como ferramenta de educação, e uma estudante de Ciências Sociais está desenvolvendo uma pesquisa sobre os fundamentos antropológicos e sociológicos do dojo no seu TCC. Ambos são na Universidade Federal Fluminense, onde – e não por acaso – temos três sessões semanais do Dojorio.

Conclusões

Como se vê, a dinâmica dos Dojos pode ser utilizada em diversos cenários, e uma das grandes vantagens é juntar diversão, networking, aprendizado e troca de informações. O próximo passo é procurar algum dojo que esteja acontecendo perto de você, ou até mesmo organizar o seu para começar a compartilhar conhecimento.

Sobre o autor

Rodrigo Urubatan (@urubatan no Twitter) trabalha com desenvolvimento desde 1997. Já desenvolveu sistemas em um gama de linguagens, incluindo Delphi, C, C++, PHP, ASP, ColdFusion, Assembly, Leather, Ruby e Java. Atualmente trabalha com pesquisa e desenvolvimento na HP, utilizando principalmente Java, Flex e Ruby. Também já ministrou cursos e palestras em diversos eventos pelo Brasil. Autor do livro Ruby On Rails: Desenvolvimento Fácil e Rápido de Aplicações Web da editora Novatec, Rodrigo tenta manter seu blog atualizado e, quando não está trabalhando, passa o maior tempo possível com o pequeno filho e a esposa, preferivelmente em atividades ao ar livre.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT