Sobre a importância de “parear” com alguém *melhor* que você

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ê?

Compartilhe este insight:

5 respostas

  1. É ó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?

  2. 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!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

That is a question that I have been answering for years. The answer is an emphatic “NO” in most cases....
Dando continuidade a uma jornada iniciada há mais de 20 anos, comunico a fundação da Eximia! Trata-se de uma empresa...
Software em funcionamento é mais relevante que documentação abrangente. Concordo com esse princípio expresso no manifesto ágil. Entretanto, acho que...
What should be the execution result of the following code? using System; using System.Threading.Tasks; using static System.Console; using static System.IO.File;...
In the previous post, I asked which function, in the following code, would fill the array with 1’s faster and...
Last post, I asked an explanation about the execution result of the following code. using System; using System.Threading.Tasks; using static...
× Precisa de ajuda?