Desenvolvimento

15 nov, 2010

Aprenda mais com Coding Dojo

Publicidade

Programação se aprende de maneira prática. Espere, não seja radical
ao ponto de jogar fora todos os livros e materais sobre programação que
você possui. Não leve a sério minha colocação se não quiser. Porém, a
questão que quero levantar é esta: aprenda a programar programando.

O que dizer sobre acadêmicos que, mesmo após estarem formados em
cursos superiores de Computação, não dominam a arte de programar, ou em
casos melhores, não estão preparados para serem os programadores com as
habilidades esperadas pelo mercado de trabalho. O mercado exige demais
ou as instituições de ensino não nivelam nossos acadêmicos de maneira
satisfatória?

Se você já participou de aulas de programação onde papel, caneta,
quadro-negro e saliva eram as ferramentas didáticas aplicadas, então
reflita e conclua sobre os resultados de tal modelo de ensino. Não pense
que o problema é o professor. Embora possam existir maus professores, o
problema ao qual me refiro está relacionado ao método de ensino.

O bom professor deve possuir o conhecimento necessário e conduzir a
aula de forma produtiva, cujo resultado seja aprendizado. Sugiro que se
trabalhe com novas maneiras de ensinar e aprender programação. Há espaço
para inovação dentro da sala de aula.

Existem vários grupos no Brasil, muitos ligados a universidades, que praticam o Coding Dojo.
Trata-se de um encontro de pessoas com o intuito de resolver um desafio
de programação. Não há competição. Todos trabalham com o mesmo
objetivo: encontrar uma solução para o problema de programação proposto.

Para realizar um Coding Dojo alguns princípios devem ser respeitados:

  • O desenvolvimento deve ser orientado por testes. Portanto,
    antes de começar qualquer coisa deve ser elaborado um plano de testes
    que indicará quando uma solução foi encontrada, isto é, quando o plano
    testes for executado com sucesso.
  • A evolução dos trabalhos deve se dar através de “passos de bebê”,
    onde são realizadas pequenas implementações de cada vez, seguidas pelos
    respectivos testes. As implementações posteriores devem ser iniciadas
    somente quando o sucesso dos testes é alcançado para o trabalho atual.
  • A programação deve acontecer em pares. Cada dupla é formada por um piloto e um co-piloto
    e tem, normalmente, de 5 a 10 minutos para realizar sua implementação
    visando ao sucesso na aplicação do roteiro de teste. Somente o piloto
    digita. Após esgotar-se o tempo, o co-piloto assume a posição do piloto,
    que volta à plateia, e a posição do co-piloto é ocupada por um outro
    participante.
  • Todos os participantes devem sempre entender o que está sendo
    feito. Há uma interação constante entre os pilotos e os demais
    participantes da plateia. Entretanto, em alguns momentos, deve haver
    silêncio para que a dupla de programadores possa desenvolver seu
    raciocínio.
  • Após ter sido encontrada uma solução para um caso de teste, o grupo
    deve analisar e apresentar sugestões para melhoria do código
    implementado, processo conhecido como refatoração.
  • Ao término dos trabalhos o grupo deve refletir sobre o que foi bom e
    o que foi ruim. O que foi aprendido? É o momento de realizar uma retrospectiva.

É uma dinâmica bastante interessante, onde são exercitadas além das
habilidades técnicas, o relacionamento interpessoal e o senso de equipe.
Um tanto alinhado com o cotidiano das empresas, onde é preciso saber
fazer junto, trabalhar em grupo em busca do mesmo resultado. Isto
também faz parte da formação profissional e deve ser visto com bons
olhos nas universidades e até mesmo no ambientem empresarial.