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

3 respostas em “A linguagem não revida!

  1. Artigo interessante… traz a tona um ponto de vista diferente e ressalta a necessidade de um profissional que tenha não apenas habilidades em linguagens de programação e frameworks, mas competências como criatividade, capacidade de solução de problemas, comprometimento e pró-atividade.

    Entretanto, não entendi a comparação de um programador com um mecânico ou marceneiro. No meu entendimento, o marceneiro, no exemplo citado, seria um profissional contratado por tempo certo, para um trabalho pré-determinado, com poucas mudança até o seu término. Este profissional poderia ser comparado com um programador freelancer, que é contratado pelo seu domínio não apenas nas práticas e ferramentas, mas pelo seu entendimento do negócio e por sua proposta de solução.
    Acredito que o tipo de programador comentado poderia ser comparado com um marceneiro contratado por uma fábrica que criasse e montasse móveis com madeiras e formas distintas. Neste caso, o conhecimento e a habilidade no manuseio de serrotes, serras, plainas, etc., seria tão útil para o trabalho quanto as “competências padrão” esperadas para um programador.

  2. Obrigado João.

    A comparação com o mecânico e marceneiro foi apenas em relação a habilidade desses profissionais com as ferramentas que utilizam e não com a sua forma de contratação. Porém sim, se fôssemos levar em consideração a forma de contratação desses profissionais, concordo com você.

    Abraços!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s