O documento apresenta Willians de Paula Pereira e discute sobre Coding Dojo. Willians é um engenheiro de software e professor que ensina sobre desenvolvimento ágil e programação em grupo através do método Coding Dojo, onde programadores se reúnem para praticar codificação, aprender e ensinar uns aos outros.
2. Quem sou eu?
Willians de Paula Pereira
Especialista em Engenharia de Software
com Ênfase em Software Livre
Professor do Instituto Federal de
Educação, Ciência e Tecnologia de
Rondônia
3. Quem sou eu?
Willians de Paula Pereira
Membro do Grupo de
Pesquisa em Automação e
Robótica – GPMecatrônica
Corintiano
Mesatenista
Desenvolvedor
Aprendiz
Geek
4. Por que eu deveria fazer Coding
Dojo?
Programadores não treinam
5. Por que eu deveria fazer Coding
Dojo?
Por que eu deveria treinar
programação?
6. Por que eu deveria fazer Coding
Dojo?
Na música: eles treinam
7. Por que eu deveria fazer Coding
Dojo?
Nas artes marciais: eles treinam
8. Por que eu deveria fazer Coding
Dojo?
Nos esportes: eles treinam
9. Por que eu deveria fazer Coding
Dojo?
Até eles treinam
10. Por que eu deveria fazer Coding
Dojo?
Quando programadores
fazem treinamento apenas
parte do que ele aprendeu se
aplica no dia-a-dia
11. Por que eu deveria fazer Coding
Dojo?
Se você não aplica o conhecimento adquirido:
Você não saberá utilizar todo o pontencial das
tecnologias
Seu chefe vai te cobrar
Você vai se cobrar
Seus amigos nerds
vão te zoar
Você irá arder no mármore
do inferno
12. Não se preocupe, pois todos
os seus problemas acabaram
Diretamente da
15. Primeiramente o que é um Dojo?
Dojo é o local onde se treinam artes
marciais japonesas. Muito mais do que
uma simples área, o dojo deve ser
respeitado como se fosse a casa dos
praticantes.
Por isso, é comum ver o praticante
fazendo uma reverência antes de
adentrar, tal como se faz nos lares
japoneses.
«do» quer dizer caminho, estrada ou
trilha (sentido espiritual), e «jo»:
lugar, espaço físico, sítio.
Logo, «dojô» é o lugar onde se pratica o
caminho de uma arte marcial
16. O que é Coding Dojo?
Segundo o http://codingdojo.org
“um Coding Dojo é uma reunião
onde um grupo de
programadores se unem para
trabalhar em um desafio de
programação. Eles estão lá para
se divertir e se envolver, a fim de
melhorar suas habilidades.”
17. Ambos são treinamentos
Os mais experientes passam o
conhecimento para os menos experientes
Treinamento a partir de repetições com
pequenos passos
18. Como surgiu?
No Mundo (desde 2003) a partir do Dojo de
Paris, fundado por:
Dave Thomas - criou a idéia em seu blog
Laurent Bossavit - propôs a criação de um
espaço de treinamento em grupo, um Dojo
Emannuel Gaillot
No Brasil (desde 2007):
Ivan Sanchez - Dojo Floripa (pioneiro)
Danilo Sato - Dojo São Paulo - IME - USP
Dojo de Recife
Dojo Rio - Blog
26. Práticas utilizadas
Passos de bebê (baby steps)
Implicam em fazer apenas pequenas mudanças
de cada vez.
Por exemplo, ao invés de escrever todo o
conteúdo de uma classe de uma vez, podemos
nos concentrar em um método de cada vez.
27. Práticas utilizadas
Humanismo
Pessoas desenvolvem software. Metodologias e ferramentas
apenas as ajudam a realizar o trabalho.
Falha
Na dúvida, falhe! Desenvolvimento de software sempre vem
acompanhado de novos problemas, muitos dos quais não
temos ideia de como resolver em princípio.
Redundância
Sim, redundância. Os problemas difíceis e críticos em
desenvolvimento de software devem ser resolvidos de várias
formas diferentes.
Qualidade
Software de má qualidade representa uma enorme perda,
Melhoria
Ideal não nos preocuparmos em construir o software
perfeito, nem o design perfeito, nem o processo perfeito, mas
sim em aperfeiçoar esses e outros aspectos dos projetos
continuamente.
34. Regras Gerais - Kata
Apresentação de uma
solução de um
problema de Dojo “feito
em casa”
Apresentado em
reunião “ao vivo”
Todos devem
conseguir reproduzir
Interrupções são
permitidas pra tirar
dúvidas
35. Regras Gerais - Randori
TODOS discutem qual problema querem fazer
TODOS fazem sugestões de testes para resolver
o problema
Programação em pares
Turnos time-boxed
Após o turno (5-7 minutos)
O co-piloto vira piloto
O piloto volta pra platéia
Um novo co-piloto é
convidado da platéia
36. Regras Gerais - Randori
Detalhe importante
COMENTÁRIOS E CRÍTICAS DA
PLATÉIA SOMENTE QUANDO OS
TESTES ESTIVEREM VERDES
SILÊNCIO QUANDO OS TESTES
ESTIVEREM VERMELHOS
37. Regras Gerais - Kake
Evolução do Randori
Nível mais avançado de
Coding Dojo
Sem projetor
Vários pares resolvem
Diferentes problemas de
uma mesma linguagem
O mesmo problema em
diferentes linguagens
Diferentes problemas em
diferentes linguagens
38. As sessões duram em média 2 horas
Nem sempre o desafio é
concluído, afinal não é o objetivo
39. O que fazer em um Coding Dojo?
Experimentar novas ideias
Divertir-se
Esquema da reunião
30 minutos – preparativos (arrumar a
sala, lightning talks)
20 minutos – escolha do problema (brainstorm)
60 minutos – programação
20 a 30 minutos – retrospectiva
10 minutos – encerramento
40. O que NÃO FAZER no Coding Dojo?
Correr para terminar o problema
Pegar um problema real
Entrar em "Flamewars" nas
discussões
Competir com outros participantes
Deixar pessoas sem entender
41. Como aproveitar ao máximo o
Coding Dojo
Entre nas discussões
Participe
Seja piloto ou co-piloto mesmo que você
não conheça a tecnologia, lembre-se que
as pessoas estão lá pra te ajudar
Faça networking
Conheça pessoas diferentes
42. Ao final do Dojo não esqueça da
confraternização
+ =
43. Estratégias para promover Coding
Dojo
Encontre pessoas interessadas em aprender
Utilize problemas diferentes em cada sessão
Devem ser contínuos
As sessões devem acontecer normalmente
de 15 em 15 dias
Convide toda a comunidade de
desenvolvedores e vista a camisa de
programador
Após o Coding Dojo divulgue o que sua
comunidade tem feito
45. 5 Razões para você ter Coding
Dojo na sua empresa
É a maneira mais fácil e barata de investir
em treinamento
Estimula habilidades sociais e de auto-
organização
É publicidade para a empresa
Incentiva os desenvolvedores a
participarem da comunidade
46. Algumas fontes de problemas para
Coding Dojo
Coding Dojo SP – Google Groups
http://www.codingdojo.org/cgi-bin/wiki.pl?KataCatalogue
http://dojopuzzles.com/
https://sites.google.com/site/tddproblems/all-problems-1
http://www.rubyquiz.com/