SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Coding Dojo
Jeferson Farias Calazans
@calazans10

Renan Reis de Azevedo
@renanra
História


O dojo para quem não conhece artes
marciais, é o lugar em que juntos, um grupo
de pessoas guiadas por um mestre visa
atingir um objetivo comum.



O treinamento é contínuo e mesmo que se
chegue a faixa preta, sempre há o que
aprender.
O que é?


Coding Dojo é simplesmente uma reunião de
programadores para treinar e aperfeiçoar
seus talentos com algoritmos.


A prática curiosamente surgiu na França, e
não no Japão, mas segue valores orientais.



O termo Coding Dojo foi cunhado por
Laurent Bossavit.
Na prática...


Muitas vezes num ambiente de trabalho
tentamos lidar com as questões sozinho, não
em grupo.



Se está “funcionando”, para todo mundo está
OK.



Cada um tem uma ideia muito pessoal sobre
o que é o melhor.


Não é bem visto, revelar áreas de nossa
própria ignorância.



Quase ninguém vê e está interessado no
código que você escreve.



Aqueles que avaliam o seu trabalho não
sabem muito (ou nada) sobre código.
Enquanto isso...
E nós...
No Dojo...
Porque participar?


Os Dojos de programação foram criados para
desafiar programadores com algoritmos
complexos.



É importante ressaltar que os dojos não são
competições de quem programa melhor ou
quem resolve problemas mais rápidos.


Os Dojos estimulam o programador e fazem
com que ele treine algoritmos.



Algumas empresas estão montando Dojos
internos para seus funcionários.



Há Dojos de vários tipos e feitos em diversas
linguagens. Exemplo: Python, Ruby, Java,
etc.
Como funciona?


Apresentação do desafio que foi elaborado e preparado
antes da reunião.



Codificação. Nesta etapa são aplicadas algumas regras
básicas:
- TDD (Desenvolvimento Orientado a Testes)
- Baby Steps (Passos de bebê)
- Pair Programming
TDD


Antes de ser escrito uma implementação de código é
escrito um teste. Isso é programação orientada a testes.



Se você não conhece ou não imagina como é testar um
resultado de uma função que ainda não foi criada, o Dojo é
uma forma de você se iniciar nessa metodologia.



No TDD também é aplicada a técnica de refatoração de
código.
Baby Steps


Quando um bebê está aprendendo a caminhar ele não
arrisca dar passos grandes. No Dojo isso funciona da
mesma forma.



O código vai saindo devagar, ajudando para que todos
estejam entendendo o que está acontecendo e que rumo
tudo está tomando.
Pair Programming


A programação é feita em dupla. Um piloto e um co-piloto.
O piloto digita o código enquanto o co-piloto lhe ajuda
apontando o que pode ser feito para melhorar, o que está
errado, etc.



Obs: Se piloto e co-piloto estiverem com dúvidas, a plateia
pode fazer sugestões.


Cada par tem de cinco a sete minutos no seu turno.
Quando esse tempo acaba:
- O piloto volta a plateia
- O co-piloto assume o lugar do piloto
- Um novo co-piloto vem da plateia


Quando algum teste não estiver passando, não estiver
dando um resultado correto, a dupla deve se concentrar em
corrigir isso. Nessa fase a plateia não deve opinar, a menos
que seja pedido.



Quando os testes estão passando e tudo está ok, é liberado
que a plateia dê opiniões e sugestões para piloto e co-piloto.
Assim eles podem refatorar o código.


Os Dojos duram em média uma hora e meia. Ao término da
sessão é feita uma retrospectiva apontando os pontos
positivos, os negativos e o que pode ser feito para melhorar
no próximo Dojo.



Depois vem a melhor parte, o coffe break para os
participantes.
Onde e quando?
DojoRio
Agenda
Referências:







http://blog.oxylabtech.com.br/?p=197
http://henriquebastos.net/2011/03/02/trote-na-uff-dojorio-educacao-2-0/
http://codingdojo.org/
http://pet.inf.ufsc.br/dojo/o-que-eh-dojo/
http://www.codingdojo.com.br/
http://dojorio.wordpress.com/



http://flaviosilveira.com/2011/coding-dojo-o-que-e-e-como-participar/
Perguntas?
FIM

Mais conteúdo relacionado

Mais procurados

Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
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
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon Heck
 
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
 
Aula 1 módulo i - psi
Aula 1   módulo i - psiAula 1   módulo i - psi
Aula 1 módulo i - psi111111119
 
Multidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesMultidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesHélio Medeiros
 

Mais procurados (20)

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!
 
Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 
TDD com Clean Code: Chega de amadorismo!
TDD com Clean Code: Chega de amadorismo!TDD com Clean Code: Chega de amadorismo!
TDD com Clean Code: Chega de amadorismo!
 
Como ser um bom programador!
Como ser um bom programador!Como ser um bom programador!
Como ser um bom programador!
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
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
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Lapidando ruby
Lapidando rubyLapidando ruby
Lapidando ruby
 
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
 
Aula 1 módulo i - psi
Aula 1   módulo i - psiAula 1   módulo i - psi
Aula 1 módulo i - psi
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 
Multidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesMultidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo times
 

Semelhante a Coding dojo

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: 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
 
Coding Dojo no PUG - PE
Coding Dojo no PUG - PECoding Dojo no PUG - PE
Coding Dojo no PUG - PEBrunno Gomes
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - ApresentaçãoMarcus Costa
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
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
 
Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Lucia Giraffa
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
 

Semelhante a Coding dojo (20)

Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
DojoTuba 01
DojoTuba 01DojoTuba 01
DojoTuba 01
 
Dojo #5
Dojo #5Dojo #5
Dojo #5
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
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
Coding dojoCoding dojo
Coding 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 no PUG - PE
Coding Dojo no PUG - PECoding Dojo no PUG - PE
Coding Dojo no PUG - PE
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - Apresentação
 
O que é "Coding Dojo"?
O que é "Coding Dojo"?O que é "Coding Dojo"?
O que é "Coding Dojo"?
 
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
 
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...
 
Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)Aprender a programar (Semana Academica da FACIN/PUCRS)
Aprender a programar (Semana Academica da FACIN/PUCRS)
 
Joinville Dojo 2010
Joinville Dojo   2010Joinville Dojo   2010
Joinville Dojo 2010
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF#Dojo1 - GIT no TCDF
#Dojo1 - GIT no TCDF
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saber
 
Coding Dojo: Uma prática com Python
Coding Dojo: Uma prática com PythonCoding Dojo: Uma prática com Python
Coding Dojo: Uma prática com Python
 

Último

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 

Último (9)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Coding dojo