A linguagem não revida!

– Putz como odeio programar em X, nossa se você pegar isso aqui e fazer em Y é muito mais simples e fácil. Dois minutinhos está pronto.

Esse é um diálogo comum entre “programadores”, mas convenhamos programadores de verdade deveriam preocupar-se com linguagens?
Costumo comparar programadores com mecânicos ou marceneiros. Esses profissionais são contratados para realizar determinado serviço. Quando contrato um marceneiro o que interessa para mim é o resultado do seu trabalho não importando quais ferramentas ele irá utilizar para construí-lo.
Esse é o profissional, que sabe qual ferramenta utilizar no momento certo. Isso não é o que vemos por aí quando o assunto é desenvolvimento de software.
Imaginem um anúncio: Marceneiro – construo móveis com extrema beleza e qualidade, sou especialista em serrote. (WTF!!!).

Ou o anúncio: Mecânico de chave de Boca – conserto de bicicletas em geral (LOL!!)

Não fazem nenhum sentido esses anúncios, correto?
Afinal onde quero chegar?
Hoje, na maioria das empresas, os programadores são reconhecidos e, principalmente contratados, pelas ferramentas/linguagens que sabem utilizar e não pela capacidade de resolver problemas. A capacidade de saber qual ferramenta utilizar em determinada situação faz parte do profissionalismo de um programador.
Ferramentas têm suas qualidades e suas carências, cabe ao programador analisar a situação como um todo, analisar as ferramentas disponíveis e determinar qual utilizá-la.
Aí entra o valor de uma universidade bem cursada, este é o conhecimento que deve ser adquirido em um curso universitário: a capacidade de resolver problemas.
Infelizmente, não é algo fácil de encontrar atualmente nas universidades. Simplesmente porque as empresas valorizam os profissionais que sabem utilizar a linguagem X, pois hoje ela é a modinha então a universidade tem que ensinar a linguagem X porque assim mais alunos irão querer estudar lá e, mais alunos mais dinheiro.
Em função de querer estar sempre no hype presenciamos cenas interessantes como mecânicos utilizando alicate para parafusos e chave de fenda para cortes. O pior é quando um mecânico “mais atualizado” diz para os outros mecânicos que devem usar alicate pois alicate é bom, fácil e prático só que, lá no meio do desenvolvimento do problema, descobre que existe um parafuso e o alicate não consegue parafusar. Lá se vão horas de trabalho pensando em como fazer um alicate parafusar ou então começar a usar o alicate versão alpha pré que já vem com uma chave de fenda no cabo mas ainda ninguém testou em ambiente de produção e podem gerar inúmeros problemas na cabeça dos parafusos pois a bitola da chave é única.
Certificações nada mais são do que ensinar alguém a ser o melhor serrador que existe, porém quando aparece algo para ser parafusado, lá se vai a certificação.
O melhor programador que conheço não é conhecido pela linguagem que programa e sim pelo seu incrível trabalho realizado, Linus Torvalds e o  sistema operaciona Linux.
Acredito que este é o ponto que diferencia empresas como a Google de outras, para trabalhar lá não é necessário ser bom na linguagem X, o conhecimento delas é suficiente, mas sim ser um ótimo solucionador de problemas.
Então você decide, ou aprende a linguagem hype que todos os “programadores” usam com um sistema operacional hype, ou aprende a resolver problemas independente da linguagem ou ferramenta a utilizar.

Anúncios