Hoje eu e o Manoel Lemos tivemos uma boa conversa sobre como é difícil encontrar programadores que procuram ter uma visão abrangente do que estão fazendo.

O programador mais comum é aquele que aprendeu a programar na faculdade ou em cursos técnicos e trabalhou como PJ em vários projetos durante sua vida profissional sem envolvimento emocional com o software que desenvolvia. Dificilmente foi além das classes que o analista pediu para ele desenvolver.

Outros foram um pouco além. Faziam a análise dos sistemas, mas não iam muito mais longe do que o usuário dizia ser o problema.

Muito poucos são os programadores que sentem aquele gostinho de vitória quando o usuário mudou de idéia e pediu alguma coisa diferente, mas o sistema já previa essa mudança e era muito fácil implementá-la. Pois ele o desenhou pensando num domínio um pouco maior do que foi pedido inicialmente. Só uns poucos entendem o problema, pesquisam soluções abrangentes e desenvolvem de maneira que seja fácil mudar.

E raros são aqueles que vão além do que conhecem e desbravam novos mundos procurando alternativas para solucionar da melhor maneira os problemas que lhes apresentam. Vão além do Java e do Ruby, vão além do Apache ou do IIS, fuçam no sistema operacional e nos componentes da rede, investigam como o Oracle trabalha com índices e como o MySQL salva os dados no disco, querem saber como funciona tudo para encontrar a melhor forma do software funcionar, a melhor forma para reduzir em 10x o tempo de processamento.

Eu acredito que essas “moscas brancas” não nascem com a experiência adquirida, eles nascem com esse espírito de descoberta. E você, o que acha?