Programador Profissional

Paulo Morandi
3 min readOct 26, 2020

Você se acha um profissional no que faz? Quando você contrata alguém que se diz “profissional” naquilo que faz, quais expectativas são geradas por você? E quando alguém contrata você, a sua postura é de um profissional?

Esse post foi inspirado pela discussão levantada pelo grande Elemar Jr. da EximiaCo e também foi amplamente comentado em um podcast da lambda3. Caso não conheça nenhum dos 2 citados, por favor resolva isso imediamente:

Falhas de software em produção tem sido observadas com mais frequencia hoje em dia (tudo bem com vocês Niantic?), o que será que está acontecendo? No começo do podcast, Elemar cita que vem observando isso com mais frequencia que o normal. Pode parecer uma evidência anedótica, mas veja, ele é um profissional (com certeza) gabaritado e dono de uma empresa de consultoria, ou seja, muitas empresas diferentes com muitos contextos diferentes. Qual seria a causa raiz disso? O pensamento dele (com o qual concordo) é que talvez nós não estamos sendo profissionais o suficiente, praticamente amadores remunerados.

Importante dizer aqui que não se trata da Síndrome do Impostor, que muitos de nós com certeza passamos (ou ainda passa) em algum momento da vida. Trata-se sim de tentar analisar se nossa postura como desenvolvedores/arquitetos/seja lá qual for sua atuação na programação está sendo de um profissional na área.

Quando vamos até um médico ou contratamos um advogado esperamos destes que sejam profissionais no que fazem. Imagine se você está sendo processado por alguém, então você contrata um advogado e ele informa que não sabe como apresentar sua defesa diante de um juiz ou que não faz a menor ideia de como redigir o texto de defesa? Imagino que isso seja um requisito básico de todo advogado, afinal, ele, como profissional, tem que saber como conduzir uma defesa da melhor forma possível. E você, como desenvolvedor, sabe analisar a complexidade de um algoritmo? Não? Como você sabe então que seu código, com volume muito maior de dados, vai se comportar? O que você sabe sobre estrutura de dados? Saberia implementar um hashtable sozinho? Não? Como você então escolhe qual a melhor estrutura de dados para resolver seu problema? E arquitetura de computadores? “Na minha máquina funciona”?

Esse tipo de pergunta não deveria ser difícil para um profissional da área responder, mas o que se vê hoje em dia é uma ânsia em aprender o último framework da moda. Aposto que você sabe tudo sobre React Native ou Spring Boot. Um exemplo interessante sobre isso citado no programa, se um profissional sênior .NET, trabalhando a pelo menos 10 anos com a tecnologia, se ele for contratado para trabalhar com Java, então ele voltaria ser Júnior? A resposta deveria ser não, pois se os fundamentos são sólidos, qual a diferença que faz a linguagem?

E a respeito da atitude de um profissional, qual a sua postura diante de alguns problemas? O que você faz para ser um profissional? Estuda? Encara novos desafios? Ou ainda manda as clássicas:

Não faço ideia de como isso funciona, só fiz o que mandaram.

Cadê o profissional investigando porque isso aconteceu ou questionando se o que foi pedido está realmente correto?

Não faço ideia do que é isso, só sei que já estava assim.

Cadê o profissional propondo uma melhoria, um refactor?

Fiz assim porque não tinha tempo.

Uma das melhores essa, cadê o profissional colocando aos superiores que com a restrição de tempo imposta não será possível realizar a tarefa de maneira adequada? Vai apenas aceitar e baixar a cabeça e sair programando?

Este post não tem uma conclusão, é apenas uma reflexão sobre o assunto, apenas para instigar você a se questionar se o que está fazendo no dia a dia pode ser considerado como uma atitude de um “profissional”. Em certa medida, todos somos um pouco amadores, já que não existe um critério bem definido do que seria um profissional, mas fica aqui a reflexão: ao invés de gastar o tempo aprendendo o último framework do momento, porque não gastar um tempo estudando os fundamentos, como Estrutura de Dados, Algoritmos, Arquitetura de Computadores?

--

--