Upload
willians-de-paula-pereira
View
820
Download
2
Embed Size (px)
DESCRIPTION
Apresentação realizada na Escola Regional de Informática RO/AC - ERIN3 explicando como funciona um Coding Dojo, vantanges, desvantagens. Slide baseado em conteúdos disponíveis na internet.
Citation preview
Coding Dojo
Willians de Paula PereiraEspecialista em Engenharia de Software com Ênfase em Software Livre
Professor do Instituto Federal de Educação, Ciência e Tecnologia de Rondônia
Quem sou eu?
Membro do Grupo de Pesquisa em Automação e Robótica – GPMecatrônica
CorintianoMesatenistaDesenvolvedorAprendizGeek
Willians de Paula Pereira
Quem sou eu?
Por que eu deveria fazer Coding Dojo?
Programadores não treinam
Por que eu deveria treinar programação?
Por que eu deveria fazer Coding Dojo?
Por que eu deveria fazer Coding Dojo?
Na música: eles treinam
Por que eu deveria fazer Coding Dojo?
Nas artes marciais: eles treinam
Por que eu deveria fazer Coding Dojo?
Nos esportes: eles treinam
Por que eu deveria fazer Coding Dojo?
Até eles treinam
Quando programadores fazem treinamento apenas parte do que ele aprendeu se aplica no dia-a-dia
Por que eu deveria fazer Coding Dojo?
Se você não aplica o conhecimento adquirido:Você não saberá utilizar todo o pontencial das tecnologias
Seu chefe vai te cobrarVocê vai se cobrarSeus amigos nerds vão te zoar
Você irá arder no mármore do inferno
Por que eu deveria fazer Coding Dojo?
Não se preocupe, pois todos os seus problemas acabaram
Diretamente da
What’s f** Coding Dojo?
Dojo é o local onde se treinam artes marciais japonesas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes.
Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses.
«do» quer dizer caminho, estrada ou trilha (sentido espiritual), e «jo»: lugar, espaço físico, sítio.
Logo, «dojô» é o lugar onde se pratica o caminho de uma arte marcial
Primeiramente o que é um Dojo?
O que é Coding Dojo?
Segundo o http://codingdojo.org “um Coding Dojo é uma reunião onde um grupo de programadores se unem para trabalhar em um desafio de programação. Eles estão lá para se divertir e se envolver, a fim de melhorar suas habilidades.”
Ambos são treinamentos
Os mais experientes passam o conhecimento para os menos experientes
Treinamento a partir de repetições com pequenos passos
Como surgiu?No Mundo (desde 2003) a partir do Dojo de Paris,
fundado por:Dave Thomas - criou a idéia em seu blogLaurent Bossavit - propôs a criação de um
espaço de treinamento em grupo, um DojoEmannuel Gaillot
No Brasil (desde 2007): Ivan Sanchez - Dojo Floripa (pioneiro)Danilo Sato - Dojo São Paulo - IME - USPDojo de RecifeDojo Rio - Blog
Objetivos
PraticarAprenderEnsinarDescobrir o potencial de uma tecnologia discutindo com BASES CONCRETAS
Princípios
Aprendizado contínuoAmbiente
Não-competitivoColaborativo Inlcusivo
Local para experimentar e testar
Passos de bebê (baby steps)
Regras Gerais
Computador + ProjetorTDD – Test-Driven Development
vermelho -> verde -> refatoraçãoTodos devem entenderSempre recomeça do zero
RestrospectivaAo final de toda reuniãoO que aprendemos?O que não aprendemosO que poderia melhorar?Discussões e comentários
TODOS devem estar em sincronia
Práticas utilizadas
Programação em par
Práticas utilizadas
TDD – Test-Driven Development
Práticas utilizadasPassos de bebê (baby steps)
Implicam em fazer apenas pequenas mudanças de cada vez.
Por exemplo, ao invés de escrever todo o conteúdo de uma classe de uma vez, podemos nos concentrar em um método de cada vez.
Práticas utilizadas Humanismo
Pessoas desenvolvem software. Metodologias e ferramentas apenas as ajudam a realizar o trabalho.
Falha Na dúvida, falhe! Desenvolvimento de software sempre vem
acompanhado de novos problemas, muitos dos quais não temos ideia de como resolver em princípio.
Redundância Sim, redundância. Os problemas difíceis e críticos em
desenvolvimento de software devem ser resolvidos de várias formas diferentes.
Qualidade Software de má qualidade representa uma enorme perda,
Melhoria Ideal não nos preocuparmos em construir o software perfeito, nem
o design perfeito, nem o processo perfeito, mas sim em aperfeiçoar esses e outros aspectos dos projetos continuamente.
E NUNCA ESQUEÇA DE REFATORAR
Essas práticas te lembram algo?
Métodos ágeis tem tudo a ver com Coding Dojo
Flu
xo d
o C
odin
g D
ojo
Flu
xo d
e te
mpo
Tipos de Dojo
KataRandoriKake
Regras Gerais - Kata
Apresentação de uma solução de um problema de Dojo “feito em casa”
Apresentado em reunião “ao vivo”
Todos devem conseguir reproduzir
Interrupções são permitidas pra tirar dúvidas
Regras Gerais - RandoriTODOS discutem qual problema querem fazerTODOS fazem sugestões de testes para resolver
o problemaProgramação em paresTurnos time-boxedApós o turno (5-7 minutos)
O co-piloto vira pilotoO piloto volta pra platéiaUm novo co-piloto é
convidado da platéia
Detalhe importanteCOMENTÁRIOS E CRÍTICAS DA PLATÉIA SOMENTE QUANDO OS TESTES ESTIVEREM VERDES
SILÊNCIO QUANDO OS TESTES ESTIVEREM VERMELHOS
Regras Gerais - Randori
Regras Gerais - Kake
Evolução do RandoriNível mais avançado de
Coding DojoSem projetorVários pares resolvem
Diferentes problemas de uma mesma linguagem
O mesmo problema em diferentes linguagens
Diferentes problemas em diferentes linguagens
As sessões duram em média 2 horasNem sempre o desafio é concluído, afinal não é o objetivo
O que fazer em um Coding Dojo?Experimentar novas ideiasDivertir-seEsquema da reunião
30 minutos – preparativos (arrumar a sala, lightning talks)
20 minutos – escolha do problema (brainstorm)60 minutos – programação 20 a 30 minutos – retrospectiva10 minutos – encerramento
O que NÃO FAZER no Coding Dojo?
Correr para terminar o problemaPegar um problema realEntrar em "Flamewars" nas discussões
Competir com outros participantesDeixar pessoas sem entender
Como aproveitar ao máximo o Coding DojoEntre nas discussõesParticipeSeja piloto ou co-piloto mesmo que você não conheça a tecnologia, lembre-se que as pessoas estão lá pra te ajudar
Faça networkingConheça pessoas diferentes
Ao final do Dojo não esqueça da confraternização
+ =
Estratégias para promover Coding Dojo Encontre pessoas interessadas em aprenderUtilize problemas diferentes em cada sessãoDevem ser contínuosAs sessões devem acontecer normalmente de 15 em 15 dias
Convide toda a comunidade de desenvolvedores e vista a camisa de programador
Após o Coding Dojo divulgue o que sua comunidade tem feito
Principais comunidades de Coding Dojo no Brasil
DOJO RIO DOJO SP
5 Razões para você ter Coding Dojo na sua empresaÉ a maneira mais fácil e barata de investir em treinamento
Estimula habilidades sociais e de auto-organização
É publicidade para a empresa
Incentiva os desenvolvedores a participarem da comunidade
Quebra a rotina
Algumas fontes de problemas para Coding Dojo Coding Dojo SP – Google Groups http://www.codingdojo.org/cgi-bin/wiki.pl?KataCatalogue http://dojopuzzles.com/ https://sites.google.com/site/tddproblems/all-problems-1 http://www.rubyquiz.com/