Coding Dojo
Quem sou eu?Willians de Paula Pereira Especialista em Engenharia de Software  com Ênfase em Software Livre Professor do ...
Quem sou eu?  Willians de Paula PereiraMembro do Grupo de Pesquisa em Automação e Robótica – GPMecatrônicaCorintianoMes...
Por que eu deveria fazer CodingDojo?Programadores não treinam
Por que eu deveria fazer CodingDojo?Por que eu deveria treinar programação?
Por que eu deveria fazer CodingDojo?Na música: eles treinam
Por que eu deveria fazer CodingDojo?Nas artes marciais: eles treinam
Por que eu deveria fazer CodingDojo?Nos esportes: eles treinam
Por que eu deveria fazer CodingDojo?Até eles treinam
Por que eu deveria fazer CodingDojo?Quando programadores fazem treinamento apenas parte do que ele aprendeu se aplica no ...
Por que eu deveria fazer Coding   Dojo?Se você não aplica o conhecimento adquirido: Você não saberá utilizar todo o pont...
Não se preocupe, pois todos os seus problemas acabaram       Diretamente da
What’s f** Coding Dojo?
Primeiramente o que é um Dojo? Dojo é o local onde se treinam artes  marciais japonesas. Muito mais do que  uma simples á...
O que é Coding Dojo?Segundo o http://codingdojo.org “um Coding Dojo é uma reunião onde um grupo de programadores se unem ...
Ambos são treinamentosOs mais experientes passam o conhecimento para os menos experientesTreinamento a partir de repetiç...
Como surgiu? No Mundo (desde 2003) a partir do Dojo de  Paris, fundado por:   Dave Thomas - criou a idéia em seu blog  ...
ObjetivosPraticarAprenderEnsinarDescobrir o potencial de uma tecnologia discutindo com BASES CONCRETAS
Princípios Aprendizado contínuo Ambiente    Não-competitivo    Colaborativo    Inlcusivo Local para  experimentar e ...
Regras GeraisComputador + ProjetorTDD – Test-Driven Development vermelho -> verde -> refatoraçãoTodos devem entenderSe...
RestrospectivaAo final de toda reunião O que aprendemos? O que não aprendemos O que poderia melhorar?  Discussões e c...
TODOS devem estar em sincronia
Práticas utilizadasProgramação em par
Práticas utilizadasTDD – Test-Driven Development
Práticas utilizadas Passos de bebê (baby steps) Implicam em fazer apenas pequenas mudanças  de cada vez. Por exemplo, a...
Práticas utilizadas Humanismo   Pessoas desenvolvem software. Metodologias e ferramentas    apenas as ajudam a realizar ...
E NUNCA ESQUEÇA DE REFATORAR
Essas práticas te lembram algo?
Métodos ágeis tem tudo a ver comCoding Dojo
Fluxo do Coding Dojo
Fluxo de tempo
Tipos de DojoKataRandoriKake
Regras Gerais - KataApresentação de uma solução de um problema de Dojo “feito em casa”Apresentado em reunião “ao vivo”T...
Regras Gerais - Randori TODOS discutem qual problema querem fazer TODOS fazem sugestões de testes para resolver  o probl...
Regras Gerais - RandoriDetalhe importante COMENTÁRIOS E CRÍTICAS DA  PLATÉIA SOMENTE QUANDO OS  TESTES ESTIVEREM VERDES ...
Regras Gerais - Kake Evolução do Randori Nível mais avançado de  Coding Dojo Sem projetor Vários pares resolvem   Dif...
As sessões duram em média 2 horasNem sempre o desafio é concluído, afinal não é o objetivo
O que fazer em um Coding Dojo? Experimentar novas ideias Divertir-se Esquema da reunião   30 minutos – preparativos (a...
O que NÃO FAZER no Coding Dojo? Correr para terminar o problema Pegar um problema real Entrar em "Flamewars" nas  discu...
Como aproveitar ao máximo oCoding DojoEntre nas discussõesParticipeSeja piloto ou co-piloto mesmo que você não conheça ...
Ao final do Dojo não esqueça da         confraternização     +            =
Estratégias para promover CodingDojoEncontre pessoas interessadas em aprenderUtilize problemas diferentes em cada sessão...
Principais comunidades de Coding           Dojo no BrasilDOJO RIO               DOJO SP
5 Razões para você ter CodingDojo na sua empresaÉ a maneira mais fácil e barata de investir em treinamentoEstimula habil...
Algumas fontes de problemas paraCoding Dojo Coding Dojo SP – Google Groups http://www.codingdojo.org/cgi-bin/wiki.pl?Kat...
@williansdepaula      /williansdepaulawilliansdepaula@gmail.com
Coding Dojo
Próximos SlideShares
Carregando em…5
×

Coding Dojo

1.413 visualizações

Publicada em

Apresentação realizada na Escola Regional de Informática RO/AC - ERIN3 explicando como funciona um Coding Dojo, vantanges, desvantagens. Slide baseado em conteúdos disponíveis na internet.

Coding Dojo

  1. 1. Coding Dojo
  2. 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. 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. 4. Por que eu deveria fazer CodingDojo?Programadores não treinam
  5. 5. Por que eu deveria fazer CodingDojo?Por que eu deveria treinar programação?
  6. 6. Por que eu deveria fazer CodingDojo?Na música: eles treinam
  7. 7. Por que eu deveria fazer CodingDojo?Nas artes marciais: eles treinam
  8. 8. Por que eu deveria fazer CodingDojo?Nos esportes: eles treinam
  9. 9. Por que eu deveria fazer CodingDojo?Até eles treinam
  10. 10. Por que eu deveria fazer CodingDojo?Quando programadores fazem treinamento apenas parte do que ele aprendeu se aplica no dia-a-dia
  11. 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. 12. Não se preocupe, pois todos os seus problemas acabaram Diretamente da
  13. 13. What’s f** Coding Dojo?
  14. 14. 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
  15. 15. 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.”
  16. 16. Ambos são treinamentosOs mais experientes passam o conhecimento para os menos experientesTreinamento a partir de repetições com pequenos passos
  17. 17. 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
  18. 18. ObjetivosPraticarAprenderEnsinarDescobrir o potencial de uma tecnologia discutindo com BASES CONCRETAS
  19. 19. Princípios Aprendizado contínuo Ambiente  Não-competitivo  Colaborativo  Inlcusivo Local para experimentar e testar Passos de bebê (baby steps)
  20. 20. Regras GeraisComputador + ProjetorTDD – Test-Driven Development vermelho -> verde -> refatoraçãoTodos devem entenderSempre recomeça do zero
  21. 21. RestrospectivaAo final de toda reunião O que aprendemos? O que não aprendemos O que poderia melhorar? Discussões e comentários
  22. 22. TODOS devem estar em sincronia
  23. 23. Práticas utilizadasProgramação em par
  24. 24. Práticas utilizadasTDD – Test-Driven Development
  25. 25. 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.
  26. 26. 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.
  27. 27. E NUNCA ESQUEÇA DE REFATORAR
  28. 28. Essas práticas te lembram algo?
  29. 29. Métodos ágeis tem tudo a ver comCoding Dojo
  30. 30. Fluxo do Coding Dojo
  31. 31. Fluxo de tempo
  32. 32. Tipos de DojoKataRandoriKake
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. As sessões duram em média 2 horasNem sempre o desafio é concluído, afinal não é o objetivo
  38. 38. 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
  39. 39. 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
  40. 40. Como aproveitar ao máximo oCoding 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
  41. 41. Ao final do Dojo não esqueça da confraternização + =
  42. 42. Estratégias para promover CodingDojo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
  43. 43. Principais comunidades de Coding Dojo no BrasilDOJO RIO DOJO SP
  44. 44. 5 Razões para você ter CodingDojo 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
  45. 45. Algumas fontes de problemas paraCoding 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/
  46. 46. @williansdepaula /williansdepaulawilliansdepaula@gmail.com

×