Como programador este ano foi muito divertido pra mim. Afinal, foi em janeiro que eu comecei a frequentar o Dojo Brasília. Uma experiência muito rica pra mim que decidi compartilhar um pouco aqui.
O convite inicial me foi feito pelo Ian na primeira semana do ano. Eu não topei de início pois não sacava muito a idéia por trás do coding dojo. Por fim, acabei indo na minha primeira sessão no final de janeiro na qual participei da codificação do Campo Minado. A experiência foi tão boa que acabei viciando. Cheguei, inclusive, a evangelizar um pouco da idéia junto ao Rolim durante a semana de extensão da UnB. Agora o ano se finaliza e chega a hora de fazer uma super retrospectiva de como foi essa experiência.
A primeira coisa que me agregou no Dojo foi a experiência de codificar em equipe. Certamente esta é uma oportunidade sem igual. Colocar suas idéias junto as dos demais, isto em um contexto onde todas são analisadas sem filtros, gera uma oportunidade de crescimento incrível. Ao longo das sessões vi que muitos conceitos e hábitos meus estavam muito errados, outros ainda eram válidos e o melhor de tudo, vi muita coisa que desconhecia. Trocar idéia com pessoas experientes como o Pedroso como gente que estava engatinhando no desenvolvimento foi algo bastante valioso.
Com a experiência a gente acaba se expondo pouco a essas trocas de informações com outras pessoas. Passamos a acreditar que o desenvolvimento ao estilo "lobo solitário" é mais "rápido" e parece atender melhor as nossas necessidades. E assim perdemos a oportunidade de nos expormos a esse processo de cruzamento e evolução de idéias.
Eu sempre gostei de ler sobre outras tecnologias e linguagens. Infelizmente não me dei muitas oportunidades de experimentá-las. Durante os dojos pude ter contato com tudo isso além de ter o direito de botar a mão na massa. Codificamos em JavaScript, Perl, C, Java, Ruby e Phyton. Fizemos desde problemas matemáticos a jogos. Brincamos bastante. E essa mistura de tecnologias e projetos pode parecer bizarra a alguns, mas é justamente isto que gera uma oportunidade única. Estando exposto a um novo ambiente, com novos paradigmas, recursos e problemas você fica mais atento aos detalhes e as possibilidades a sua frente. Quando você retorna ao seu código habitual você começa a notar diversas questões que não via antes. É graças a estas situações inusitadas que você se permite vislumbrar novos caminhos. Depois deste ano, meu ferramental como desenvolvedor deu uma bela incrementada.
E um dos principais pontos que foram aprendidos no Dojo foi o TDD. É incrível como esta técnica é unânime entre todos os dojos que você procurar. Mais incrível ainda foi que, apesar de conhecer a técnica de nome a alguns anos, sempre a achei distante da minha realidade. Foi então neste ano que vi o quanto ela é aplicável na maior parte dos contextos em que desenvolvo. Depois de vencida a barreira inicial, e de trazer a mesma para o dia-a-dia, é difícil tirar a técnica do sangue. Hoje já aplico ela a todos os projetos onde tenho que desenvolver (inclusive os legados) e tenho até dificuldade em não usá-la. Codificar com TDD te traz uma segurança enorme que é sentida a cada vez que você roda seus testes e sabe que seu software está garantido.
A cada sessão de dojo estávamos livres para tentar o código que desejássemos. Não tínhamos restrição de tempo ou escopo. Nosso objetivo era chegar no código que mais nos satisfizesse. Chegamos a gastar sessões inteiras apenas refatorando nossos códigos. Assegurados por nossos testes estávamos livres para testar diversas possibilidades e idéias. O importante não era apenas ter um código que rode, mas um código que agrade e agregue.
Tenho certeza que tem muitas outras lições aprendidas durante este meu primeiro ano de Dojo Brasília. Fico no aguarde do ano de 2011 que com certeza trará muitos novos aprendizados. Caso você seja de Brasília, deixo o convite a participar dos nossos encontros. Para isso basta entrar no nosso grupo de e-mail e se apresentar. Caso não seja daqui, procure algum dojo na sua cidade ou crie coragem e inicie o seu.
Imagens retiradas de: