SlideShare a Scribd company logo
1 of 11
Coding Dojo
Introdução
 baseado nos slides de Danilo T. Sato e Hugo Corbucci
Motivação




Programadores não treinam!
Background



Dojo » Artes Marciais
Princípios

   Aprendizado Contínuo
   Ambiente Seguro:
     – Não-competitivo
     – Colaborativo
     – Inclusivo
   Falha e Redundância
   Passos de Bebê
Regras Gerais
   Computador + Projetor
   TDD (vermelho » verde » refatoração)
   Todos devem entender
   SEMPRE
    recomeça
    do zero
Retrospectiva

   Ao final de toda reunião:

    – O que aprendemos?
      O que gostamos?


    – O que poderia melhorar?

                – Discussões ou comentários
Formatos
   Kata
    – Apresentação de uma solução
    – Todos devem
      conseguir reproduzir
    – Interrupções
      permitidas para
      tirar dúvidas
Formatos
   Randori
     – Programação em pares
     – Turnos “time-boxed”
     – Após o turno (5-7 min.):
        • O co-piloto vira piloto
        • O piloto volta para a platéia
        • Um novo co-piloto é convidado da platéia
     – Comentários e críticas somente no verde
     – Silêncio no vermelho
Formatos

   Kake
    – Novo!
    – Quase Randori
    – Nível mais avançado
    – Vários pares simultâneos
    – Pessoas trocam entre máquinas a cada turno
Objetivos

   Praticar
   Aprender
   Ensinar
   Discutir
    com bases
    CONCRETAS!
não Faça!

   Corra para terminar o problema
   Pegue um problema real
   Entre em “Flamewars” nas discussões
   Compita com outros participantes
   Deixe pessoas sem entender

More Related Content

What's hot

CBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleCBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleWildtech
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMRafael Nunes
 

What's hot (6)

O que é "Coding Dojo"?
O que é "Coding Dojo"?O que é "Coding Dojo"?
O que é "Coding Dojo"?
 
CBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By ExampleCBSoft2013 - Tutorial Coding By Example
CBSoft2013 - Tutorial Coding By Example
 
Linguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVMLinguagens Dinâmicas na JVM
Linguagens Dinâmicas na JVM
 
Coding Dojo #GuruPI
Coding Dojo #GuruPICoding Dojo #GuruPI
Coding Dojo #GuruPI
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding dojo
Coding dojo Coding dojo
Coding dojo
 

Similar to Coding Dojo (20)

#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding Dojo Juiz de Fora
Coding Dojo Juiz de ForaCoding Dojo Juiz de Fora
Coding Dojo Juiz de Fora
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Apresentação sobre Coding Dojo
Apresentação sobre Coding DojoApresentação sobre Coding Dojo
Apresentação sobre Coding Dojo
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - Apresentação
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
 
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
Coding dojoCoding dojo
Coding dojo
 
DojoTuba 01
DojoTuba 01DojoTuba 01
DojoTuba 01
 
Coding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programando
 
Coding dojo
Coding dojoCoding dojo
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
 
Coding Dojo no PUG - PE
Coding Dojo no PUG - PECoding Dojo no PUG - PE
Coding Dojo no PUG - PE
 
Dojo #5
Dojo #5Dojo #5
Dojo #5
 
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
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 

More from Daniel Cukier

Solidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingSolidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingDaniel Cukier
 
Spring e Injeção de Dependência
Spring e Injeção de DependênciaSpring e Injeção de Dependência
Spring e Injeção de DependênciaDaniel Cukier
 
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Daniel Cukier
 
Startup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityStartup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityDaniel Cukier
 
Technology Startups Ecosystem in China - Lessons to other ecosystems
Technology Startups  Ecosystem in China - Lessons to other ecosystemsTechnology Startups  Ecosystem in China - Lessons to other ecosystems
Technology Startups Ecosystem in China - Lessons to other ecosystemsDaniel Cukier
 
Software Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudySoftware Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudyDaniel Cukier
 
Maturity model for Startup Ecosystems
Maturity model for Startup EcosystemsMaturity model for Startup Ecosystems
Maturity model for Startup EcosystemsDaniel Cukier
 
Why Google Cloud is so special? Stories from a cloud user
Why Google Cloud is so special?  Stories from a cloud userWhy Google Cloud is so special?  Stories from a cloud user
Why Google Cloud is so special? Stories from a cloud userDaniel Cukier
 
Software Architectures for a Single Person Team
Software Architectures for a Single Person TeamSoftware Architectures for a Single Person Team
Software Architectures for a Single Person TeamDaniel Cukier
 
Introduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaIntroduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaDaniel Cukier
 
O dia a dia de uma Startup
O dia a dia de uma StartupO dia a dia de uma Startup
O dia a dia de uma StartupDaniel Cukier
 
Injeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsInjeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsDaniel Cukier
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringDaniel Cukier
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?Daniel Cukier
 
Better Science Through Art
Better Science Through ArtBetter Science Through Art
Better Science Through ArtDaniel Cukier
 
Designed as Designer
Designed as DesignerDesigned as Designer
Designed as DesignerDaniel Cukier
 

More from Daniel Cukier (20)

Solidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingSolidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate Training
 
Spring e Injeção de Dependência
Spring e Injeção de DependênciaSpring e Injeção de Dependência
Spring e Injeção de Dependência
 
Pair programming
Pair programmingPair programming
Pair programming
 
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
 
Startup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityStartup Communities: From Nascence to Maturity
Startup Communities: From Nascence to Maturity
 
Technology Startups Ecosystem in China - Lessons to other ecosystems
Technology Startups  Ecosystem in China - Lessons to other ecosystemsTechnology Startups  Ecosystem in China - Lessons to other ecosystems
Technology Startups Ecosystem in China - Lessons to other ecosystems
 
Software Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudySoftware Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case Study
 
Maturity model for Startup Ecosystems
Maturity model for Startup EcosystemsMaturity model for Startup Ecosystems
Maturity model for Startup Ecosystems
 
Why Google Cloud is so special? Stories from a cloud user
Why Google Cloud is so special?  Stories from a cloud userWhy Google Cloud is so special?  Stories from a cloud user
Why Google Cloud is so special? Stories from a cloud user
 
Software Architectures for a Single Person Team
Software Architectures for a Single Person TeamSoftware Architectures for a Single Person Team
Software Architectures for a Single Person Team
 
Startup Communities
Startup CommunitiesStartup Communities
Startup Communities
 
Introduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaIntroduction to Functional Programming with Scala
Introduction to Functional Programming with Scala
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
O dia a dia de uma Startup
O dia a dia de uma StartupO dia a dia de uma Startup
O dia a dia de uma Startup
 
Injeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsInjeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com Dublês
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software Engineering
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
 
Ruby Robots
Ruby RobotsRuby Robots
Ruby Robots
 
Better Science Through Art
Better Science Through ArtBetter Science Through Art
Better Science Through Art
 
Designed as Designer
Designed as DesignerDesigned as Designer
Designed as Designer
 

Coding Dojo

  • 1. Coding Dojo Introdução baseado nos slides de Danilo T. Sato e Hugo Corbucci
  • 4. Princípios  Aprendizado Contínuo  Ambiente Seguro: – Não-competitivo – Colaborativo – Inclusivo  Falha e Redundância  Passos de Bebê
  • 5. Regras Gerais  Computador + Projetor  TDD (vermelho » verde » refatoração)  Todos devem entender  SEMPRE recomeça do zero
  • 6. Retrospectiva  Ao final de toda reunião: – O que aprendemos? O que gostamos? – O que poderia melhorar? – Discussões ou comentários
  • 7. Formatos  Kata – Apresentação de uma solução – Todos devem conseguir reproduzir – Interrupções permitidas para tirar dúvidas
  • 8. Formatos  Randori – Programação em pares – Turnos “time-boxed” – Após o turno (5-7 min.): • O co-piloto vira piloto • O piloto volta para a platéia • Um novo co-piloto é convidado da platéia – Comentários e críticas somente no verde – Silêncio no vermelho
  • 9. Formatos  Kake – Novo! – Quase Randori – Nível mais avançado – Vários pares simultâneos – Pessoas trocam entre máquinas a cada turno
  • 10. Objetivos  Praticar  Aprender  Ensinar  Discutir com bases CONCRETAS!
  • 11. não Faça!  Corra para terminar o problema  Pegue um problema real  Entre em “Flamewars” nas discussões  Compita com outros participantes  Deixe pessoas sem entender

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n