Neste Coding Dojo nós usamos Python como linguagem e o problema escolhido foi o Jogo da Vida. O grande diferencial desta edição é que usamos o tão famoso (e pedido pelo Danilo Bellini) pytest usando o Dose.
O fato de ter um semáforo o tempo todo na tela, avisando a todo o momento como o código estava, ou verde ou vermelho, ajudou bastante e foi bem legal usar essa ferramenta. Mas isso não impediu a galera de gerar conversas paralelas e nem de conversar no vermelho. Ok, confesso que inibiu, mas nem tanto.
Umas das partes mais interessantes (e que se tornaram, também, uma das mais confusas no final) foi o uso dos testes parametrizados, funcionalidade específica do Pytest. Isso ajudou bastante na criação dos testes, mas acabou confundindo um pouco a cabeça das pessoas.
O conhecimento avançado do tutor deste Coding Dojo (Danilo Bellini) cooperou muito para que todos aprendessem coisas bem especificas da linguagem Python, como list comprehension, pytest e parametrize, além de termos usado um editor que poucos conheciam, o Spyder.
Esse Coding Dojo foi organizado pela galera do GruPy-SP, mas precisamente pelo Rodolpho Eck, que esta de passagem pelo Brasil e resolveu juntar a galera pra codar um pouco.
Foi um Dojo muito bacana, pois aconteceu novamente no Google, depois de muito tempo sem nada do tipo no escritório deles. Foi legal também que muitas caras novas (e velhas rs) apareceram e a troca de experiências foi bem interessante.
Como tinhamos muita gente presente neste Dojo e, automaticamente, muitos novatos, o problema escolhido para a sessão foi o "Hello World" FizzBuzz. Como era de se esperar, o problema fácil ajudou muito na fluidez e na prática do TDD e não foi uma barreira para ninguém.
Dentre os pontos positivos, destacados pela galera, tivemos a infra-estrutura do local, a localização, o problema, a linguagem, a grande adesão da galera (creio que não tivemos nenhuma baixa nos inscritos) e a participação de todas as pessoas presentes (todos codaram, sem exceção!).
Como pontos negativos foram destacados os seguintes itens: a falta de babysteps no início, o excesso de babysteps durante (rsrs, sim, sim, isso aconteceu) e, é claro, a conversa paralela durante o vermelho. Como era de esperado, em um grupo tão grande de pessoas, dificilmente conseguiriamos controlar esse tipo de coisa, mas como disse o Rodolpho, fica a dica para os próximos: quem estiver como piloto e co-piloto nos próximos controle mais a galera. :)
Veja nas fotos um pouco do que aconteceu neste Coding Dojo:
Foi um prazer participar do meu primeiro dojo no iMasters!
Muito grato ao Alê Borba pela organização e pelo espaço, e principalmente a todos que participaram! As discussões foram muito boas!
Para quem não foi, o código final realmente não retrata bem o processo. A idéia de fazer commits o tempo todo é muito boa para capturar a evolução.
No caso de ontem, o código chegou a ser várias vezes mais extenso. Funcionava perfeitamente mas estava cheio de código repetitivo. Só numa refatoração final as repetições foram removidas e o array de leds foi introduzido.
Como eu comentei ontem, as repetições explícitas e o array de leds são duas soluções que eu já tinha visto acontecerem para esse problema. Uma terceira solução não envolve array, mas apenas lógica. Vejam aqui
O código acima foi criado na primeira vez que este Dojo com Arduino foi realizado, quando o Garoa participou da programação oficial da Virada Cultural de São Paulo. Foi uma loucura, tinha dezenas de pessoas comprimidas no porão 0 do Garoa e até pessoas do lado de fora assistindo pela janela!
Na época da Virada Cultural a gente registrava os passos da solução em outro arquivo, no caso este:
O primeiro Coding Dojo do ano no iMasters foi feito utilizando PHP e contou com a participação da comunidade PHP de São Paulo, o PHP-SP. Tivemos 3 bons tutores e o Dojo, com relação a linguagem, nada deixou a desejar. O problema escolhido também foi bem didático e ajudou bastante pelo fato de ser simples de entender e de implementar.
Um ponto em que pecamos foi o uso do editor Vim para codar (Xiitas não me matem). Eu, particularmente, gosto muito do Vim e acho bem bacana que as pessoas aprendam a utilizá-lo, mas como o PHP não era dominado por todos, idem para o Vim, foi muita novidade de uma só vez, e fez com que, várias vezes, o piloto emperrasse no uso do editor.
Uma coisa que vale muito destacar foi a desmistificação de que PHP não possui testes unitários e não se consegue fazer TDD e outros métodos ágeis usando a linguagem. Os tutores e membros da comunidade provaram que isto é um mito e que dá sim para se fazer boas coisas e usar boas práticas de programação, desenvolvimento ágil e TDD utilizando o PHP.
Este foi um dos Coding Dojos de maior participação do pessoal e teve uma conversão de quase 100% das pessoas que se inscreveram no encontro!
Coding Dojo bem dinâmico, infelizmente com poucos novatos, mas bastante divertido. A linguagem e o problema foram escolhidos na hora e por diferença de apenas um voto escolhemos a linguagem Ruby e o problema que consistia em encontrar arquivos duplicados.
O tutor da fez foi o Leandro Facchinetti, que desempenhou muito bem o papel, sempre deixando todos bastante a vontade com a linguagem e ensinado vários truques bacanas. Dessa vez não esquecemos de utilizar o git durante os sprints e tudo o que foi feito foi commitado. o/
Excelente final de anos a todos e muito Coding Dojos para o ano de 2013!!! \o/
Um dos Coding Dojos mais bacanas que já fizemos no iMasters. Muitos novatos compareceram, tinhamos dois tutores bem entendidos do assunto e também uma galera já velha de guerra em coding dojos.
Como o problema já foi trazido previamente pelo Anderson Pavia, um dos tutores, nós economizamos um grande tempo pelo fato de não precisarmos escolher e votar o problema. Idem para a linguagem, que já foi definida previamente na lista de discussão do grupo no google.
Alguns reclamaram da falta de conhecimento prévio da linguagem por parte de alguns, o que eu não vejo como um problema, mas o fato de termos nomeado os testes e variáveis com nomes errados pode ter atrapalhado o entendimento de alguns e levado a alguns erros de interpretação. Algumas pessoas também não participaram, talvez por vergonha ou por medo, mas no geral, todo mundo curtiu e saiu com vontade de ver um pouco mais de Haskell por ai.
o/
"Haskell code!"
Retrospectiva
Negativo
Linguagem.
Falatório.
Faltou Git.
Não respeito ao tempo.
Falta de babysteps.
Ambiente de desenvolvimento.
Positivo
Linguagem.
Problema.
Chocolate (Que o Rogério trouxe pra fazer média! rs)
Esse Dojo foi organizado para comemorarmos o #AdaLovelaceDay e contou com a participação massiva de mulheres (sim, elas existem!).
A linguagem escolhida para a solução do problema foi Python, o que dificultou no início mas logo depois se tornou bem bacana (Graças a chegada do Guto rsrs). Seguindo uma linha mais tranquila, mesmo porque tinhamos muit@s novat@s, o problema escolhido foi o "Hello World!" FizzBuzz.
Como era de se esperar em um Dojo com a maioria do público sendo do sexo feminino (rsrsrs) e com muit@s novat@s, o falatório foi grande e por várias vezes o tempo não foi respeitado, mas confesso que foi um dos Dojos mais divertidos que já participei/organizei.
"Girls on code!"
Retrospectiva
Negativo
Linguagem.
Falatório.
Faltou Git.
Não respeito ao tempo.
Falta de babysteps.
Ambiente de desenvolvimento.
Positivo
Linguagem.
Problema.
Chocolate (Que o Rogério trouxe pra fazer média! rs)