leandrw's blog

Dojo SP - um grupo de Coding Dojo dinâmico e amistoso na terra da garoa

Você já frequentou algum Coding Dojo? Sabe o que é um é um Coding Dojo? Se ao ver a palavra "Dojo" você lembrou do local onde o herói Neo é apresentado as artes marciais por Morpheus na obra The Matrix dos irmãos Wachowski, você não está muito errada(o).

Morpheus em um Dojo treinando o Neo
Morpheus em seu Dojo virtual ensinando kung-fu de verdade para Neo

O termo Do (trilha) - Jo (lugar) foi pego emprestado da cultura japonesa, onde é utilizado para referir-se ao local onde os praticantes de artes marciais vão treinar e aprimorar a execução dos movimentos da luta, cultivando-os como parte de uma arte. Mas o que Neo e artes marciais tem a ver com o desenvolvimento de software? Aparentemente nada (sei que podem encontrar diversas apresentações em sites como slideshare por aí, fazendo analogias entre artes marciais e a arte de resolver problemas de forma lógica, mas são apenas analogias). Porém, nenhum outro termo traduziria melhor o local e atmosfera dessas reuniões de programadores.

As regras do jogo

Durante um Coding Dojo, um pequeno grupo de desenvolvedores cujo número ideal é algo em torno de 15, se reúnem durante por cerca de uma hora para resolver um problema, utilizando técnicas de desenvolvimento ágil como desenvolvimento dirigido a testes (Test Driven Development), programação pareada (Pair Programming) e foco no resultado. A lógica de todo processo é bem interessante e se assemelha muito a um jogo, tornando tudo ainda mais interessante. Durante rodadas de 5 a 7 minutos, programadores revezam entre si em pares, onde um assume o papel de piloto e, portanto, operador da máquina, enquanto outro denominado co-piloto atua como um consigliere, dando palpites para chegarem a solução, enquanto que todos os membros fazem parte da assistência. A dupla deve incrementar a suite de testes e contribuir para que o algoritmo da resolução responsa positivamente ao caso de testes, mesmo que isso implique em trapacear (algo como colocar um return true numa função de validação). Se o algoritmo passar no teste, a equipe pode contar com a ajuda de todos os programadores na assistência para melhorar ainda mais a resolução e de quebra aprender novos truques.

Ilustração demonstrando a dinâmica de um coding dojo Driver = Piloto Navigator = Co-piloto Nova rodada a cada 5 a 7 minutos A assistência pode dar opinião

Vale ressaltar que a dupla deve sempre comunicar o porquê de cada alteração na solução do problema, promovendo assim um ciclo de distribuição de conhecimento de via dupla. Se a resolução não passar no teste, a assistência se cala e aguarda que a dupla a frente resolva e teste novamente. Esses momentos de silencio da assistência são interessantíssimos, já que presenciamos como uma dupla toma decisões rapidamente e propõe, sem censuras, uma forma de resolver o problema. Ao término da rodada, o piloto vai para a assistência, o co-piloto passa para o cargo de piloto e um membro que estava na assistência assume o papel de co-piloto, dando início a uma nova rodada. O evento exige que ao menos um participante conheça a tecnologia tema do Dojo para resolver o problema, não sendo obrigatório que todos os participantes tenham conhecimentos de desenvolvimento de software. A ideia é que a cada etapa tenha uma evolução bem leve, baby-steps (passos de um bebê). Ao final do Dojo, os participantes avaliam e deixam seu feedback em murais recheados de postits, como este em que participei abaixo:

Painel de feedback do Coding Dojo Painel de feedback do Coding Dojo realizado na ThoughtWorks SP.

Dojo SP

E é com o objetivo de espalhar essa cultura em São Paulo que o grupo Coding Dojo SP surgiu. O grupo tem se reunido com uma frequência aproximadamente semanal no segundo semestre de 2014 e tem se espalhado numa "mini caravana" de desenvolvedores variada por aí, incentivando que os participantes montem também seus Dojos, algo que espero realizar em breve. Tive a oportunidade de participar de um Coding Dojo realizado na ToughtWorks SP na região da Avenida Paulista, e nunca, em nenhum outro evento de comunidade de software, fui tão bem recebido. Eu era o único a não ter participado ou sequer saber o que era um Coding Dojo e fui recebido muito bem. A comunidade é muito receptiva e variada, e conta com a participação de todos.

Para participar dos próximos Coding Dojos que acontecem praticamente uma vez por semana, basta ficar atenta(o) as notificações do perfil do coding Dojo SP no Meetup (link nas referências abaixo), nas regras do Dojo e se inscrever. Como o número ideal de um Dojo é de cerca de 15 membros, geralmente os eventos tem vagas limitadas e a inscrição deve ser feita com certa antecedência.

Que tal aprender uma nova tecnologia ou linguagem de programação, técnicas de desenvolvimento de software ágil, boas práticas e de quebra conhecer novos lugares e pessoas para montar o melhor networking da sua região e promover o conhecimento e trabalho em equipe? É pouco? Se você mora na terra da garoa (que passa por um período de seca digno de um romance de Guimarães Rosa) junte-se ao Coding Dojo-SP! Ou se faz parte de outro grupo, deixe nos comentários o nome dele e a qual região pertence. E se ainda não tem, comece um! Coding Dojos são muito mais do que falamos acima. São sobre utilizar a comunicação de uma maneira dinâmica e que visa o bem da comunidade. São sobre sermos melhores individualmente e em grupo.

Encontrei essa galera graças ao Meetup.com, uma rede social direcionada a grupos de qualquer coisa que queiram se reunir. O Meetup passou a ser um dos sites que mais acesso desde que o descobri e recomendo que dê uma passadinha por lá, ou melhor, "vá procurar sua turma!" e marque um encontro com ela no Meetup.

Referências

Dojo SP no Meetup - http://www.meetup.com/Dojo-SP/ , acessado em 2 de Setembro de 2014.
Meetup, uma rede social para grupos locais - http://www.meetup.com/ , acessado em 1 de Setembro de 2014.
Site da Thought Works em português, empresa que sediou o primeiro Coding Dojo que frequentei, http://www.thoughtworks.com/pt/ , acessado em 3 de Setembro de 2014.
 
Wikipedia, Dojo - https://pt.wikipedia.org/wiki/Dojo , acessado em 1 de Setembro de 2014.
Wikipedia, Matrix - https://pt.wikipedia.org/wiki/Matrix , acessado em 1 de Setembro de 2014
The Matrix, Warner Bros. Pictures - 1999.

← Início