Coding Dojo
Jeferson Farias Calazans
@calazans10

Renan Reis de Azevedo
@renanra
História


O dojo para quem não conhece artes
marciais, é o lugar em que juntos, um grupo
de pessoas guiadas por um mestre visa
atingir um objetivo comum.



O treinamento é contínuo e mesmo que se
chegue a faixa preta, sempre há o que
aprender.
O que é?


Coding Dojo é simplesmente uma reunião de
programadores para treinar e aperfeiçoar
seus talentos com algoritmos.


A prática curiosamente surgiu na França, e
não no Japão, mas segue valores orientais.



O termo Coding Dojo foi cunhado por
Laurent Bossavit.
Na prática...


Muitas vezes num ambiente de trabalho
tentamos lidar com as questões sozinho, não
em grupo.



Se está “funcionando”, para todo mundo está
OK.



Cada um tem uma ideia muito pessoal sobre
o que é o melhor.


Não é bem visto, revelar áreas de nossa
própria ignorância.



Quase ninguém vê e está interessado no
código que você escreve.



Aqueles que avaliam o seu trabalho não
sabem muito (ou nada) sobre código.
Enquanto isso...
E nós...
No Dojo...
Porque participar?


Os Dojos de programação foram criados para
desafiar programadores com algoritmos
complexos.



É importante ressaltar que os dojos não são
competições de quem programa melhor ou
quem resolve problemas mais rápidos.


Os Dojos estimulam o programador e fazem
com que ele treine algoritmos.



Algumas empresas estão montando Dojos
internos para seus funcionários.



Há Dojos de vários tipos e feitos em diversas
linguagens. Exemplo: Python, Ruby, Java,
etc.
Como funciona?


Apresentação do desafio que foi elaborado e preparado
antes da reunião.



Codificação. Nesta etapa são aplicadas algumas regras
básicas:
- TDD (Desenvolvimento Orientado a Testes)
- Baby Steps (Passos de bebê)
- Pair Programming
TDD


Antes de ser escrito uma implementação de código é
escrito um teste. Isso é programação orientada a testes.



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 é
uma forma de você se iniciar nessa metodologia.



No TDD também é aplicada a técnica de refatoração de
código.
Baby Steps


Quando um bebê está aprendendo a caminhar ele não
arrisca dar passos grandes. No Dojo isso funciona 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.
Pair Programming


A programação é feita em dupla. Um piloto e um co-piloto.
O piloto digita o código enquanto o co-piloto lhe ajuda
apontando o que pode ser feito para melhorar, o que está
errado, etc.



Obs: Se piloto e co-piloto estiverem com dúvidas, a plateia
pode fazer sugestões.


Cada par tem de cinco a sete minutos no seu turno.
Quando esse tempo acaba:
- O piloto volta a plateia
- O co-piloto assume o lugar do piloto
- Um novo co-piloto vem da plateia


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 plateia não deve opinar, a menos
que seja pedido.



Quando os testes estão passando e tudo está ok, é liberado
que a plateia dê opiniões e sugestões para piloto e co-piloto.
Assim eles podem refatorar o código.


Os Dojos duram em média uma hora e meia. Ao término da
sessão é feita uma retrospectiva apontando os pontos
positivos, os negativos e o que pode ser feito para melhorar
no próximo Dojo.



Depois vem a melhor parte, o coffe break para os
participantes.
Onde e quando?
DojoRio
Agenda
Referências:







http://blog.oxylabtech.com.br/?p=197
http://henriquebastos.net/2011/03/02/trote-na-uff-dojorio-educacao-2-0/
http://codingdojo.org/
http://pet.inf.ufsc.br/dojo/o-que-eh-dojo/
http://www.codingdojo.com.br/
http://dojorio.wordpress.com/



http://flaviosilveira.com/2011/coding-dojo-o-que-e-e-como-participar/
Perguntas?
FIM

Coding dojo