Eu sempre pensei em mim como um programador bem bacana. Então, um novo cara, chamado Aaron, foi contratado para a nossa equipe. Aaron era obviamente muito melhor que eu na maioria das áreas. Ele era mais novo que eu também. Ele me fez perceber que eu realmente não havia melhorado muito nos últimos anos. Eu era um hacker ad-hoc, e um medíocre nisso.
Isso me alertou para tentar conscientemente melhorar a mim mesmo e, principalmente, a qualidade do código que escrevo.
Aaron me levou a aprender muitas coisas. Ele me ensinou como a maior parte do código que escrevo terá que ser mantida e estendida por pelo menos vários anos; portanto, devo escrever o código com isso em mente. Eu deveria escrever testes automáticos para o meu código. Aaron estava sempre falando sobre como eu nunca deveria parar na primeira versão de trabalho, mas refatorar e refinar até que o código seja elegante. Eu descobri que as linguagens e ferramentas que eu estava usando tinham muito espaço para melhorias.
A coisa mais importante que aprendi com Aaron foi nunca parar de aprender.
Depois de alguns anos, Aaron deixou a empresa. Eu me senti vazio. Os últimos anos com ele me elevaram a novos níveis de habilidade, e eu percebi que agora era muito melhor do que o resto da equipe. Eles ainda estavam escrevendo códigos ruins e cometendo os mesmos erros de antes. Eu tentei ensiná-los, mas eles não tinham interesse em aprender. Na verdade, eles ficaram irritados por alguém ser tão arrogante em dizer quais erros estavam cometendo.
Então, alguns meses depois, deixei a empresa também. Mudei-me para uma empresa menor, com uma equipe muito talentosa. Todo mundo lá queria aprender mais, e eu adorei.
Estou feliz por conhecer Aaron. Sem ele, eu provavelmente ainda estaria trabalhando na velha empresa com a velha gangue, indo a lugar nenhum e pensando demais em mim.