Coding Dojo

Dojo

Dojo

O Dojo é a sala de treinamento de todas as artes marciais japonesas. (...)
A palavra significa 'lugar de aprender e realizar'

Coding Dojo

Coding Dojo

Um Coding Dojo é um encontro onde um grupo de programadores se reúne para treinar técnicas e metodologias de desenvolvimento de software através da solução de um pequeno desafio de programação.

Porque fazer?

Programadores não treinam

Músicos treinam

Atletas treinam

E porque não nós

programadores?

Como tudo na vida, é preciso de prática

Princípios

Princípios

  • Aprendizado contínuo
  • Ambiente seguro
    • Não competitivo
    • Colaborativo
    • Inclusivo
  • Local para experimentar e testar
  • Passos de bebê (Baby steps)

Regras gerais

Computador e Projetor

(ou uma TV grande)

Piloto, Co-piloto e Plateia

TDD

Test Driven Development

Todos devem entender

Um ajuda o outro a entender

Sempre começa do zero

Discussões baseadas em código

Formas de Dojo

  • Kata
  • Randori
  • Kake

Kata

Kata

  • Um desafio de programação
  • Uma solução é apresentada
  • Todos devem conseguir reproduzir
  • Interrupções são permitidas para tirar dúvidas

Randori

Randori

  • Um desafio de programação
  • Programação em pares
  • Turnos time-boxed (5 a 7 minutos)
    • Após cada turno
      • Co-piloto vira piloto
      • Piloto vai para a plateia
      • Um novo co-piloto é convidado da plateia
  • ​​Testes passando: Feedback liberado
  • Testes não passando: SILÊNCIO!

Kake

Kake

  • Vários computadores
  • Vários pares
  • Várias linguagens e/ou desafios
  • Participantes
    • Trocam de computador a cada turno
    • Consequentemente de linguagem e/ou desafio

Sobre os Dojos

  • As sessões duram em média 2 horas
  • Nem sempre o desafio é concluído, afinal não é o objetivo

Objetivos

  • Praticar
  • Aprender
  • Ensinar
  • Assimilar práticas de desenvolvimento
  • Desenvolver o espírito de equipe
  • Paciência
  • Fazer somente o necessário
  • Se divertir

Ao final do Dojo

  • O que aprendemos?
  • O que foi legal?
  • O que podemos melhorar?
  • Qual a data do próximo Dojo?

Retrospectiva

O que não fazer

  • Correr para solucionar o desafio
  • Usar um problema real
  • Brigar e discutir com os outros
  • Competir com os demais
  • Deixar os participantes com dúvidas

O que não fazer?

Esquema da sessão

(Sugestão)

  • Definição do problema (15 min)
  • Coding (60 min. - 5 ou 7 por turno)
  • Retrospectiva (30 min)
  • Encerramento (15 min)

Organização da Sessão

E não esqueça

Comes e bebes ao final :)

Dúvidas?

Vamos começar?

Agora ou depois?

Obrigado!

Email: me@gilsondev.in

Blog: gilsondev.in

Telegram/Github: @gilsondev

Twitter: @gilsonfilho