Sou velho e tolo, e você tem a vida inteira pela frente, caro programador. Mas deixe-me dar um conselho que certamente o ajudará em sua carreira — se, é claro, você pretende continuar sendo programador.
Conselhos como "escreva um código bonito", "comente bem seu trabalho" e "aprenda frameworks modernos" são muito úteis, mas infelizmente são secundários. São uma reflexão tardia em relação à qualidade mais importante que um programador deve desenvolver.
Essa é a principal qualidade: uma mente curiosa.
Uma mente curiosa não é tanto uma habilidade, mas sim um desejo de compreender um ambiente desconhecido, seja uma nova tecnologia, um novo projeto ou novas funcionalidades de uma linguagem de programação.
Uma mente curiosa não é inata, mas sim uma qualidade adquirida. Antes de trabalhar como programador, por exemplo, eu nunca a tive.
Em nosso trabalho, uma mente curiosa muitas vezes significa querer descobrir por que o maldito código não está funcionando. Independentemente de quem o escreveu — você ou outra pessoa.
Se você analisar qualquer tarefa que você ou seus colegas estejam resolvendo, em termos simples, ela se parece com isto: entender o problema, encontrar um ponto de correção e fazer as correções.
A programação propriamente dita só começa no final da cadeia, enquanto a parte principal é um exercício contínuo de curiosidade intelectual. Tanto a qualidade final da solução quanto a velocidade de sua criação dependem não da sua habilidade em escrever código, mas do seu desejo de entender rapidamente e descobrir onde esse código precisa ser inserido.
Como desenvolver uma mente curiosa? Não é complicado. Há muitos anos, desenvolvi uma estratégia simples:
Para que os meninos não tivessem vergonha de mostrá-lo.
Se a sua solução não for constrangedora de mostrar aos amigos, então é excelente. Se você se aprofunda em um problema e não tem vergonha de contar aos amigos sobre isso, então você é um cara legal.
Só não transforme essa afirmação em um lema dos Alcoólicos Anônimos. Se você ainda não descobriu como fazer isso, ou escreveu um código ruim, desistiu no meio do caminho e agora está fazendo um show de drama emocional do tipo "Sou tão burro e não tenho medo de admitir!", ostentando sua incompetência e esperando pena, você, infelizmente, não é um programador.
Eis um exemplo. Recentemente, um estagiário estava a tentar resolver um problema num mecanismo bastante complexo — tanto técnica como metodologicamente. Passou o dia inteiro, pelo que pude perceber. Trabalhou praticamente sozinho, mas também pediu ajuda aos colegas. Um dos mais experientes sugeriu que ele tentasse depurar o código. Ao final da tarde, o estagiário veio ter comigo.
Para ser honesto, achei que o estagiário estava procurando no lugar errado e vendo a coisa errada, e que eu teria que começar a investigar desde o início. Basicamente, a situação estava pressionando. Mas acabou que o estagiário estava a um passo da solução. Aliás, eu o ajudei a dar esse passo. Mas esse não é o ponto principal.
O principal é que o estagiário demonstrou genuína curiosidade. Você sabe reconhecer a verdadeira curiosidade? É simples: quando um novato encontra, ou quase encontra, uma solução, seguindo um caminho incerto, com toda a pompa e circunstância, não desiste, não joga a toalha, mesmo que todos ao seu redor riam dele e os "especialistas" lhe deem sermões com conselhos como "aprenda matemática" ou "veja no depurador".
Apesar da baixíssima eficiência na resolução do problema no exemplo dado, a trajetória do estagiário não é vergonhosa de se mostrar aos rapazes. Antigamente, só pessoas assim sobreviviam – porque não havia especialistas, todas as tecnologias eram completamente desconhecidas e apenas uma mente curiosa podia salvá-las.
Uma mente curiosa é igualmente comum entre novatos e veteranos. Cabelos grisalhos, uma infinidade de certificações e anos de experiência não são indicativos de uma mente curiosa. Conheço pessoalmente vários programadores com anos de experiência que desistem quando se deparam com qualquer tarefa complexa. Tudo o que conseguem fazer é escrever código de acordo com as especificações, onde tudo está claramente definido, até mesmo os nomes das tabelas e variáveis.
Portanto, estagiários e novatos: suas chances são as mesmas dos veteranos. Não se deixem enganar pela experiência e pelas certificações de um veterano — uma mente curiosa não depende disso.
Seja o que for que você faça, lembre-se: faça de um jeito que os rapazes não se envergonhem de mostrar. Os samurais ensinavam isso: se você escrever uma carta, pense que o destinatário vai pendurá-la na parede. Esse é o resultado.
A estratégia "para que os rapazes não tenham vergonha de mostrar" é muito simples e fácil de aplicar a qualquer momento. Pare agora mesmo, daqui a uma hora ou daqui a um ano, e responda: você não tem vergonha de mostrar aos rapazes o que você fez? Você tem vergonha de mostrar aos rapazes o quanto você se esforçou e como buscou uma solução? Você tem vergonha de mostrar aos rapazes como você se empenha para melhorar sua eficácia todos os dias?
Ah, e não se esqueça de quem estamos falando. Não estamos falando do seu colega de mesa, do seu gerente ou do seu cliente. Estamos falando de todo o mundo da programação.
Fonte: habr.com
