Uma ou duas vezes por ano tenho a oportunidade de encontrar, pessoalmente, o Ayende (líder técnico do projeto do RavenDB). Dessa vez, foi nos Estados Unidos, em uma conferência médica.
Além de aprender muito conversando com ele, também tenho o privilégio de aprender codificando. Dessa vez, investimos algumas horas em uma experiência envolvendo indexação de documentos.
Ayende é um programador melhor que eu. A velocidade com que ele faz implementações realmente complexas, envolvendo inclusive operações de baixo nível, impressiona! “Parear” com ele me demanda atenção plena (é muito fácil perder a linha de raciocínio). Fico, o tempo todo, um pouco acima da minha “zona de conforto”. Além disso, a quantidade de “macetes” que ele conhece e utiliza é desconcertante.
Entendo que “parear” com alguém melhor que você é sempre uma oportunidade. Nesse post, tento explicar o porquê.
Clareza sobre o que você precisa aprender
Ver o Ayende programando evidenciou algumas deficiências em meu conhecimento/experiência. Ficou claro, para mim, que, se eu estivesse familiarizado com algumas técnicas, teria menos dificuldade para entender a linha de implementação que ele estava buscando e me tornaria mais efetivo na atividade. Sempre que programo com ele, acabo tendo indicação segura sobre onde investir meu tempo (e dinheiro) em estudos.
Novas abordagens para solucionar problemas
Mais do que código em si, a abordagem que o Ayende utiliza para pensar soluções é diferente da minha. Posso me beneficiar da experiência dele, acumulada em anos, para aprimorar a forma como eu resolvo problemas – o que melhora a qualidade do meu trabalho.
Truques e macetes
Dessa vez, aprendi com ele sobre como organizar informações em um arquivo binário para facilitar a leitura não-sequencial posteriormente. Também aprendi um bocado sobre como executar algumas operações sem fazer alocações (ele é obcecado com a ideia de evitar intervenções do Garbage Collector).
Mesmo lendo muito, nunca vi nada como ele propôs em meus estudos. Tudo muito óbvio (depois de aprendido), mas também muito útil.
Claro que ainda preciso praticar. Mas, sei que muito do que eu vi já está definitivamente comigo. Já aprendi!
Humildade
Sempre há alguém melhor que você, não interessa quanto bom você se considere.
Confesso que sou arrogante o suficiente para esquecer isso. Programar com o Ayende me faz recordar.
E você, o que tem aprendido quando tem a oportunidade de *parear* com alguém melhor que você?
5 respostas
É ótimo ter a sensação de que você não é o mais inteligente da turma, isso mostra que você está rodeado de pessoas que podem te ensinar muita coisa.
Agora em relação às coisas que você aprendeu, caberia alguns posts compartilhando essas dicas e truques novos, que acha?
+1
+1
Olá, Elemar. Concordo com o texto, mas infelizmente só passei a pensar dessa maneira quando um programador em específico passou a trabalhar comigo. Sempre soube que eu preciso melhorar a cada dia mais, mas só após a chegada dele eu peguei o rumo certo. Hoje, estamos um guiando o outro. Recomendo a todo programador a experiência que é desenvolver em equipe.
Parabéns pelo blog. Sucesso!
Se aprende muito pareando o codigo.