DOJO
Abril Digital
programadores não treinam


• Triste constatação para a maioria dos
  programadores

• O que fazer para mudar essa
  realidade?
Coding Dojo
     Treinamento para Programadores



Dojo – local onde se treinam artes marciais
道場




              e conding dojo? o que é?
coding dojo
• é uma reunião onde um grupo de programadores
  se reúne para trabalhar em um desafio de
  programação

• eles estão lá para se divertir e para participar e
  tentar melhorar suas habilidades

• apesar do desafio, o obejetivo não é terminar o
  problema. A idéia é aprender com as
  experiências vivenciadas pelo grupo
coding dojo
        Objetivos             Princípios


•   Praticar          • Aprendizado contínuo
                      • Ambiente
•   Aprender             – Não competitivo
•   Ensinar              – Colaborativo
•   Discutir          • Passos de bebê
                      • Qualidade
                      • Melhoria
formatos
Randori
• Resolvido “ao vivo”
• TDD / BDD
• Programação Pareada (turnos 5-7 min)
  – Co-piloto vira piloto
  – Piloto vai para platéia
  – Novo co-piloto é convidado da platéia
• Comentários e críticas somente no verde
formatos
Kata
• Problema resolvido em “casa”
• Apresentado na reunião “ao vivo”
• Começado do zero
• TDD / BDD

Kake
• Mais de um computador
• Sem projetor
• Diferentes linguagens de programação
• Pragramação Pareada (turnos 7-10 min)
5 regras básicas
1 - Desenvolvimento guiado por testes
  Antes de fazer qualquer implementação, deve ser
  escrito um teste.


2 - “Passos de Bebê”
  Se um teste não está passando, você deve escrever
  o código mais simples possível que faça o teste
  passar.
5 regras básicas
3 - Pair Programming
  A programação é feita em duplas. Cada dupla tem um
  piloto e um co-piloto. Turno (7 - 10min)
    • O piloto volta para a platéia
    • O co-piloto assume o lugar do piloto
    • Um novo co-piloto vem da platéia


4 – Todos devem entender
  O piloto e o co-piloto devem sempre explicar em voz alta
  o que estão tentando. Qualquer um na platéia pode
  pedir explicações se não entender algum raciocínio.
5 regras básicas
5 - Três fases
  Um Coding Dojo sempre está em alguma dessas 3
  fases:
   – Vermelha: Pelo menos um teste não está
     passando. A dupla da vez deve se concentrar em
     fazer o teste passar. A platéia não deve falar nessa
     fase.
   – Verde: Todos os testes estão passando.
   – Refatoração: A platéia pode dar sugestões para
     refatorar o código.
retrospectiva

Ao final da sessão:
  – O que aprendemos?
  – O que gostamos?
  – O que pode melhorar?
  – Comentários?
que não fazer
•   Correr para terminar o problema
•   Resolver problemas “reais”
•   Entrar em “Flamewars”
•   Competir com outros participantes
•   Deixar pessoas sem entender
Sugestões de Problemas
1. http://dojopuzzles.com/problemas/exibe/ma
   triz-espiral/

2. http://dojopuzzles.com/problemas/exibe/co
   ntando-as-letras-dos-numeros/

3. http://dojopuzzles.com/problemas/exibe/pal
   avras-primas/

Dojo abril

  • 1.
  • 2.
    programadores não treinam •Triste constatação para a maioria dos programadores • O que fazer para mudar essa realidade?
  • 3.
    Coding Dojo Treinamento para Programadores Dojo – local onde se treinam artes marciais 道場 e conding dojo? o que é?
  • 4.
    coding dojo • éuma reunião onde um grupo de programadores se reúne para trabalhar em um desafio de programação • eles estão lá para se divertir e para participar e tentar melhorar suas habilidades • apesar do desafio, o obejetivo não é terminar o problema. A idéia é aprender com as experiências vivenciadas pelo grupo
  • 5.
    coding dojo Objetivos Princípios • Praticar • Aprendizado contínuo • Ambiente • Aprender – Não competitivo • Ensinar – Colaborativo • Discutir • Passos de bebê • Qualidade • Melhoria
  • 6.
    formatos Randori • Resolvido “aovivo” • TDD / BDD • Programação Pareada (turnos 5-7 min) – Co-piloto vira piloto – Piloto vai para platéia – Novo co-piloto é convidado da platéia • Comentários e críticas somente no verde
  • 7.
    formatos Kata • Problema resolvidoem “casa” • Apresentado na reunião “ao vivo” • Começado do zero • TDD / BDD Kake • Mais de um computador • Sem projetor • Diferentes linguagens de programação • Pragramação Pareada (turnos 7-10 min)
  • 8.
    5 regras básicas 1- Desenvolvimento guiado por testes Antes de fazer qualquer implementação, deve ser escrito um teste. 2 - “Passos de Bebê” Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar.
  • 9.
    5 regras básicas 3- Pair Programming A programação é feita em duplas. Cada dupla tem um piloto e um co-piloto. Turno (7 - 10min) • O piloto volta para a platéia • O co-piloto assume o lugar do piloto • Um novo co-piloto vem da platéia 4 – Todos devem entender O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.
  • 10.
    5 regras básicas 5- Três fases Um Coding Dojo sempre está em alguma dessas 3 fases: – Vermelha: Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase. – Verde: Todos os testes estão passando. – Refatoração: A platéia pode dar sugestões para refatorar o código.
  • 11.
    retrospectiva Ao final dasessão: – O que aprendemos? – O que gostamos? – O que pode melhorar? – Comentários?
  • 12.
    que não fazer • Correr para terminar o problema • Resolver problemas “reais” • Entrar em “Flamewars” • Competir com outros participantes • Deixar pessoas sem entender
  • 13.
    Sugestões de Problemas 1.http://dojopuzzles.com/problemas/exibe/ma triz-espiral/ 2. http://dojopuzzles.com/problemas/exibe/co ntando-as-letras-dos-numeros/ 3. http://dojopuzzles.com/problemas/exibe/pal avras-primas/