SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Coding Dojo (dô-jô)
@mateuspontes / #GuruPI
Sobre
                             Mateus Pontes
                             Desenvolvimento Web
                                  Masávio Agência Web

                                  CTIS (TRE-PI)



                             Twitter: @mateuspontes
                             Email: mateuspo10@gmail.com

  php, html, css, javascript, codeigniter, java, jquery, ruby, sinatra, rails, nodejs, wordpress, cms
Pesquisa rápida:

 Quem já participou de um Coding Dojo?

 Quem sabe o que é mas nunca participou?

 Quem não sabe o que é?
Qual a ideia?


 Progamadores não treinam.

 Aprender coisas novas e treinar habilidades.
O que é um Dojo?




                   Local onde se pratica artes marciais.
  O objetivo de praticar os movimentos aprendidos exaustivamente, com isso
          chega a uma maior precisão de cada golpe, movimento,etc.
O que é um Coding Dojo?




  Local onde programadores treinam e melhoram suas habilidades
Princípios do Coding Dojo




        Aprendizado contínuo
Princípios do Coding Dojo




              Ambiente seguro
       Não-competitivo, colaborativo, inclusivo.
Princípios do Coding Dojo




          Passos de bebê
Como funciona?
Duração: ~ 1 hora e 45 minutos; *

Desafio escolhido e explicado para todos;

Princípios ágeis:
  TDD, Pair Programming, Baby steps;

  TDD: escreve um teste. 1 - Falhou? 2 - Faça passar. 3 - Passou? Refatore.

Copiloto troca com o piloto em intervalos pré-definidos;

Solução deve ser construída na hora;

Terminar com a retrospectiva do que foi feito.
  O que foi feito? O que foi bom? O que pode melhorar?
Regras do Coding Dojo

Somente um computador ligado a um projetor;

Plateia deve seguir as regras de cada tipo de Dojo;

Respeito entre os participantes;

Aprender, ensinar e discutir;

Evitar “Flamewars” -> (Ruby é melhor que Java)

Levar problemas novos para cada encontro
Tipos de Coding Dojo

Kata   Piloto e copiloto já determinados

Randori   Todos revezam entre piloto e copiloto

Kake   Vários problemas ou linguagens diferentes.
Kata
Exemplo de Kata




    http://www.egenial.pro/pt/katatom
Randori
Randori

Verde   Plateia participa com comentários e críticas

Vermelho Plateia em silêncio!
Kake

Quase um Randori;

Nível mais avançado;

Vários pares e grupos simultâneos;

Problemas ou linguagens diferentes em cada grupo;

Pessoas trocam entre máquinas a cada turno;
Nossa experiência
Onde encontrar problemas?



http://sites.google.com/site/tddproblems/all-problems-1

http://code.joejag.com/coding-dojo-example-katas/
Mais informações:
 http://dojopi.wordpress.com/

 http://web.cs.wpi.edu/~gpollice/Dojo.html

 http://grupoweblovers.co.cc/2010/12/coding-dojo-para-
 programadores/	

 http://www.prof.kadu.com.br/programacao/dojo/2011/03/o-
 que-e-um-coding-dojo

 http://codingdojo.org/

 http://apoie.org/Dojo.htm

 http://www.slideshare.net/serge_rehem/coding-dojo-em-5-
 minutos
Concluindo..
 Experiência importa mais que o código gerado no final;

 Deve haver respeito mútuo, todos são iguais no Dojo;

 Objetivo é gerar código melhor, mais claro e mais simples;

 Compartilhar conhecimento, conhecer novas pessoas,
 treinar habilidades, ensinar, aprender, experimentar..

 Enfim, se divertir!
Thanks!
@mateuspontes / #GuruPI

Mais conteúdo relacionado

Mais procurados

Coding Dojo: uma abordagem teórica e prática
Coding Dojo: uma abordagem teórica e práticaCoding Dojo: uma abordagem teórica e prática
Coding Dojo: uma abordagem teórica e práticaFernando Kenji Kamei
 
Pós Ruy - 2 e 3 Camadas - Coding Dojo
Pós Ruy - 2 e 3 Camadas - Coding DojoPós Ruy - 2 e 3 Camadas - Coding Dojo
Pós Ruy - 2 e 3 Camadas - Coding DojoCleverson Sacramento
 
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisCoding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisLorival Smolski Chapuis
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMRafael Nunes
 
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Adolfo Neto
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoJanynne Gomes
 
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoNãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoOsvaldo Santana Neto
 
CBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleCBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleWildtech
 
AgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By ExampleAgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By ExampleWildtech
 
Agile Brazil 2012 - Tutorial Coding By Example
Agile Brazil 2012 - Tutorial Coding By ExampleAgile Brazil 2012 - Tutorial Coding By Example
Agile Brazil 2012 - Tutorial Coding By ExampleWildtech
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
 

Mais procurados (20)

Dojo
DojoDojo
Dojo
 
Coding Dojo: uma abordagem teórica e prática
Coding Dojo: uma abordagem teórica e práticaCoding Dojo: uma abordagem teórica e prática
Coding Dojo: uma abordagem teórica e prática
 
Coding Dojo e TDD
Coding Dojo e TDDCoding Dojo e TDD
Coding Dojo e TDD
 
Pós Ruy - 2 e 3 Camadas - Coding Dojo
Pós Ruy - 2 e 3 Camadas - Coding DojoPós Ruy - 2 e 3 Camadas - Coding Dojo
Pós Ruy - 2 e 3 Camadas - Coding Dojo
 
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisCoding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVM
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoNãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até Pensamento
 
CBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleCBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By Example
 
AgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By ExampleAgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By Example
 
Dojo #5
Dojo #5Dojo #5
Dojo #5
 
Agile Brazil 2012 - Tutorial Coding By Example
Agile Brazil 2012 - Tutorial Coding By ExampleAgile Brazil 2012 - Tutorial Coding By Example
Agile Brazil 2012 - Tutorial Coding By Example
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 

Destaque

Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Alex Tercete
 
Programação vs. Arte
Programação vs. ArteProgramação vs. Arte
Programação vs. ArteAlex Tercete
 
Testes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-diaTestes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-diaAlex Tercete
 
One Laptop per Child: Análise sobre as implementações no Brasil e no Uruguai
One Laptop per Child: Análise sobre as implementações no Brasil e no UruguaiOne Laptop per Child: Análise sobre as implementações no Brasil e no Uruguai
One Laptop per Child: Análise sobre as implementações no Brasil e no UruguaiAvelino Ferreira Gomes Filho
 

Destaque (6)

Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?Por que você não escreve Testes Unitários?
Por que você não escreve Testes Unitários?
 
O que é "Coding Dojo"?
O que é "Coding Dojo"?O que é "Coding Dojo"?
O que é "Coding Dojo"?
 
Programação vs. Arte
Programação vs. ArteProgramação vs. Arte
Programação vs. Arte
 
Testes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-diaTestes Unitários: Começando a escrever testes no seu dia-a-dia
Testes Unitários: Começando a escrever testes no seu dia-a-dia
 
One Laptop per Child: Análise sobre as implementações no Brasil e no Uruguai
One Laptop per Child: Análise sobre as implementações no Brasil e no UruguaiOne Laptop per Child: Análise sobre as implementações no Brasil e no Uruguai
One Laptop per Child: Análise sobre as implementações no Brasil e no Uruguai
 
Karate
KarateKarate
Karate
 

Semelhante a Coding Dojo: aprenda, compartilhe e treine suas habilidades de programação

Semelhante a Coding Dojo: aprenda, compartilhe e treine suas habilidades de programação (20)

TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Condingdojo
CondingdojoCondingdojo
Condingdojo
 
#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF
 
DojoTuba 01
DojoTuba 01DojoTuba 01
DojoTuba 01
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
Coding dojo
Coding dojo Coding dojo
Coding dojo
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - Apresentação
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente OrganizacionalCoding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente Organizacional
 
1º coding dojo dnape
1º coding dojo dnape1º coding dojo dnape
1º coding dojo dnape
 
I CEFET Coding Dojo - Divulgação
I CEFET Coding Dojo - DivulgaçãoI CEFET Coding Dojo - Divulgação
I CEFET Coding Dojo - Divulgação
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Joinville Dojo 2010
Joinville Dojo   2010Joinville Dojo   2010
Joinville Dojo 2010
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 

Coding Dojo: aprenda, compartilhe e treine suas habilidades de programação

  • 2. Sobre Mateus Pontes Desenvolvimento Web Masávio Agência Web CTIS (TRE-PI) Twitter: @mateuspontes Email: mateuspo10@gmail.com php, html, css, javascript, codeigniter, java, jquery, ruby, sinatra, rails, nodejs, wordpress, cms
  • 3. Pesquisa rápida: Quem já participou de um Coding Dojo? Quem sabe o que é mas nunca participou? Quem não sabe o que é?
  • 4. Qual a ideia? Progamadores não treinam. Aprender coisas novas e treinar habilidades.
  • 5. O que é um Dojo? Local onde se pratica artes marciais. O objetivo de praticar os movimentos aprendidos exaustivamente, com isso chega a uma maior precisão de cada golpe, movimento,etc.
  • 6. O que é um Coding Dojo? Local onde programadores treinam e melhoram suas habilidades
  • 7. Princípios do Coding Dojo Aprendizado contínuo
  • 8. Princípios do Coding Dojo Ambiente seguro Não-competitivo, colaborativo, inclusivo.
  • 9. Princípios do Coding Dojo Passos de bebê
  • 10. Como funciona? Duração: ~ 1 hora e 45 minutos; * Desafio escolhido e explicado para todos; Princípios ágeis: TDD, Pair Programming, Baby steps; TDD: escreve um teste. 1 - Falhou? 2 - Faça passar. 3 - Passou? Refatore. Copiloto troca com o piloto em intervalos pré-definidos; Solução deve ser construída na hora; Terminar com a retrospectiva do que foi feito. O que foi feito? O que foi bom? O que pode melhorar?
  • 11. Regras do Coding Dojo Somente um computador ligado a um projetor; Plateia deve seguir as regras de cada tipo de Dojo; Respeito entre os participantes; Aprender, ensinar e discutir; Evitar “Flamewars” -> (Ruby é melhor que Java) Levar problemas novos para cada encontro
  • 12. Tipos de Coding Dojo Kata Piloto e copiloto já determinados Randori Todos revezam entre piloto e copiloto Kake Vários problemas ou linguagens diferentes.
  • 13. Kata
  • 14. Exemplo de Kata http://www.egenial.pro/pt/katatom
  • 16. Randori Verde Plateia participa com comentários e críticas Vermelho Plateia em silêncio!
  • 17. Kake Quase um Randori; Nível mais avançado; Vários pares e grupos simultâneos; Problemas ou linguagens diferentes em cada grupo; Pessoas trocam entre máquinas a cada turno;
  • 20. Mais informações: http://dojopi.wordpress.com/ http://web.cs.wpi.edu/~gpollice/Dojo.html http://grupoweblovers.co.cc/2010/12/coding-dojo-para- programadores/ http://www.prof.kadu.com.br/programacao/dojo/2011/03/o- que-e-um-coding-dojo http://codingdojo.org/ http://apoie.org/Dojo.htm http://www.slideshare.net/serge_rehem/coding-dojo-em-5- minutos
  • 21. Concluindo.. Experiência importa mais que o código gerado no final; Deve haver respeito mútuo, todos são iguais no Dojo; Objetivo é gerar código melhor, mais claro e mais simples; Compartilhar conhecimento, conhecer novas pessoas, treinar habilidades, ensinar, aprender, experimentar.. Enfim, se divertir!

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n