Coding Dojo – O Que é ? E Como Participar ?

Categorias: desenvolvimento

Fala pessoal.
Para quem não conhece, Coding dojo não se refere a um framework de linguagem ou a uma sessão de treinos do Bruce Lee.
Coding Dojo é simplesmente uma reunião de programadores para treinar e aperfeiçoar seus talentos com algoritmos.
Uma reunião para resolver um algoritmo.
Estas reuniões estão sendo cada vez mais frequentes no Brasil e no mundo.
Veja abaixo porque isso está acontecendo e porque elas são interessantes.

Porque participar?



Os Dojos de programação foram criados para desafiar programadores com algoritmos complexos, diferente de algumas empresas ou trabalhos onde você acostuma com as lógicas e regras de negócio e com o tempo acaba apenas replicando aquilo onde você teve que pensar uma única vez.

Ele leva esse nome por ser baseado nos Dojos de artes marciais, onde no tatâme é feito um círculo e enquanto dois lutadores aprendem na prática, os demais aprendem olhando.
Nos dojos de programação a idéia é a mesma, enquanto duas pessoas estão codificando na máquina as demais aprendem olhando o raciocínio e o caminho que essas pessoas estão seguindo.

É muito importante ressaltar que os dojos não são competições de quem programa melhor ou de quem resolve problemas mais rápidos.
O espírito da coisa toda é ser colaborativo e se divertir. E claro aprender.

Em que linguagem é programado e quais são os problemas propostos?


Há Dojos de vários tipos e maneiras por aí.
Algumas empresas estão montando Dojos internos para seus funcionários, nesses casos sempre seguindo a linguagem de desenvolvimento usada na empresa.

Outros Dojos específicos estão por aí, como de Java, Rails e etc.

Mas onde há programadores de várias linguagens, pode se decidir no dia do Dojo que linguagem utilizar, desde que tenha um especialista da linguagem presente para evitar maiores impasses do tipo “como faz um if aqui?”.
Isso é bom para você se desligar daquela linguagem que você trabalha todo dia e olhar para alguma sintaxe diferente um pouco.

Os problemas de lógica são propostos por colaboradores de todo o mundo.
Você pode ver alguns exemplo no Dojo Puzzles.
Os problemas devem ser escolhidos minutos antes de começar o Dojo, evitando que ao escolher um dia ou dois antes, você começe a resolver o desafio na sua cabeça sem perceber.

Como funciona?



Cada dojo pode ter suas regras específicas de tempo ou funcionamento. Mas no geral eles seguem as seguintes premissas:

Programação baseada em testes

Antes de ser escrito uma implementação de código é escrito um teste. Isso é programação baseada em testes. TDD (Test-Driven Development).
Se você não conhece  ou não imagina como é testar um resultado de uma função que ainda não foi criada, o Dojo pode ser uma forma de você se iniciar nessa metodologia e ver quais as vantagens ou desvantagens dela.

Passos de bebê

Quando um bebê está aprendendo a caminhar ele não arrisca dar passos grandes por aí. No Dojo acontece da mesma forma.
O código vai saindo devagar, ajudando para que todos estejam entendendo o que está acontecendo e que rumo tudo está tomando.
Sempre que alguém não estiver entendendo o que está acontecendo, esse tem o direito de perguntar e se encaixar nos trilhos novamente.

Pair Programming – Programação em duplas

A programação é feita em dupla. Um piloto e um co-piloto.
O piloto, obviamente, coloca a mão na massa, digitando e identando código e testes.
O co-piloto palpita ajuda olhando e apontando onde pode melhorar, o que está errado, etc.
Quando esse piloto volta para a platéia após alguns minutos, o co-piloto se torna  piloto e alguém da platéia vem para ajudá-lo no papel de co-piloto.
E assim segue.

Fases

Quando piloto e co-piloto estão sem idéias de como resolver o problema, é liberado que a platéia interaja e opine a respeito do código. Para demais casos há  fases onde a platéia pode opinar ou não. Quem dita essas fases são os testes.

Quando algum teste não estiver passando, não estiver dando um resultado correto, a dupla deve se concentrar em corrigir isso. Nessa fase a platéia não deve opinar, a menos que seja pedido.
Quando os testes estão passando e tudo está ok, é liberado que a platéia de opiniões e sugestões para o piloto e co-piloto.

Onde Acontece?



Os Dojos tem se espalhado por toda parte e com certeza há um perto de você.
O Codingdojo.org traz uma listagem de Dojos pelo mundo que você pode conferir clicando aqui.
Outra fonte de pesquisa, claro, é o google. Pesquisando por Coding Dojo + o nome da sua cidade com certeza irá pintar alguma coisa.

Não encontrou nada?
Ao Invés de reclamar que sua cidade é fraca e não tem nada, porque você não monta um grupo de dojo e chama seus conhecidos?

Então é isso pessoal. Quer se aperfeiçoar? Conhecer novas pessoas? Participar de um grupo bacana?
Procure e participe dos Dojos.

Abraço!


Comments