8
srluccas4 min de leitura · 22 dias atrás

RANT: Porque você deveria usar a linguagem de programação mais fácil no trabalho (e tá tudo bem)

Fala pessoal, faz um tempo que não visito o TabNews, e gostaria de compartilhar uma reflexão sobre carreira e minha experiência como Desenvolvedor/Analista/DevOps em testar e analisar diversos projetos open-source. Para quem prefere uma versão resumida, aqui vai:


TLDR

(Com exceção de cenários em que sacrificar performance ou memória seja inegociável):

Escolha a tecnologia que o torna mais produtivo, mesmo que não seja a linguagem mais performática para o caso. O importante é entregar um trabalho bem feito. Não caia na conversa de fazer na linguagem X para dar 20% a mais de performance, sendo que seu trabalho vai triplicar


*** Quem eu sou (voce pode ignorar, mas estou apresentando pra dar mais credibilidade ***

Bom, antes de começar, vou falar quem eu sou: Não sou Ninguem, mas também não sou um Nada. Sou um cara de 27 anos, que é dedicado na computação desde os 12 anos de idade, e trabalho profissionalmente na área desde dos 16 anos. Já trabalhei em várias empresas, na maioria prestando consultoria. Já participei de projetos reais em linguagens como:

Java/Spring Boot,
C#/DotNet Core,
Python/Django,
Rust/Nativo,
Kotlin/Android
JavaScript/ReactNative
PHP/Laravel
Node/NestJS
Angular/Typescript
NextJS (React)
Quasar (Vue)

Trabalhei também como Devops, montando stacks completas, e também como administrador de banco de dados.

Já prestei cargos em consultoria como Tech-Lead de empresa SaaS multinacional.

Tenho certificação Linux LPI/LPI-C e cursei faculdade de: Analise e desenvolvimento de Sistemas, Redes de computadores e Sistema de Informação.


Agora sim, já que me apresentei, (para não dar a ideia que eu sou um Anonimo falando abobrinha) , vou começar:

Resolvi escrever esse post de: "Use a linguagem mais facil no seu trabalho que resolve" (com as exceções que eu mencionei no começo) pois essa é a melhor coisa que voce pode fazer. Resolvi escrever isso pois eu fiquei P#!o de raiva depois de passar 3 meses escrevendo um Back-end (com uma equipe) em Java + Spring Boot para converter tabela .XLS (excel) para o Banco de dados MySQL (a grosso modo foi isso, estou resumindo). A equipe quis fazer em Java em vez de Python porque simplemte acharam que ia ter uma performance maior por ser escrito em Java, mesmo que demorasse mais ! PARA ✋

Na vida real, 90% nao vao seguir boa praticas em empresa nenhuma, so vão fazer o baśico, todos querem ver o trabalho entregue e só. Você acha que desenvolvedor que ficar desenvolvendo teste para função granularmente, para ficar atrasando as outras tarefas já pendentes no nome dele ? Ou ficar final de semana trabalhando a mais pois a entrega tá proxima e ele não vai ter tempo ? Acorda ! Ele só vai entregar e pronto.

Obivamente não são todas empresas assim, mas empresas que realmente ficam no pé para ter esse nivel de confiabilidade extrema no software, para ser bem torerante a falhas, pode ter certeza que são empresas (alias, equipes dentro da empresa) que são fora da curva.

Onde eu quero chegar: Quando alguem te pedir pra fazer algum trabalho em GO, Rust, ou Java, so pra ganhar performance, e voce sabe que da pra fazer em Python, faça em Python ! Nao perca seu tempo otimzando codigo ja em uma linguagem mais complexa so para ter uma performace a mais, nao vale a pena no ambiente empresarial (Se for seu projeto, ou pra estudo, ai tudo bem, use o que quiser, vale a pena escovar os "bits" )

Entao galera, nao se matem pra entregar algo a nivel da industria:

Quer fazer um Blog ? Vai de Wordpress mesmo, ou se é algo mais simples vai de PHP puro, ou mais simples ainda: faz em html5 e js e posta numa pagina estatica. Para de atrasar projeto teu ou sabotar tua carreira em se sentir preparado somente quando aprender aquele framework que enfia 500 libs no projeto pra ser algo mais "compativel com a industria", cheio de breaking changes (Sim NextJS e similares, estou falando com voce).

E detalhe: performance sempre voce pode escalar, sendo otimizando depois ou trocando partes do seu codigo em algo mais eficiente, ou escalando servidores com Kubernets, novas maquinas, Peer-to-peer server, etc...

Hoje em dia trabalho muito com o Node (apesar tbm gostar de Java e Python) pois ele entrega muito rapido as coisas, e o retorno que vem com o dinheiro paga o "sacrificio" da performance pre-otimizada

Obviamente para quem leu o texto e entendeu, nao estou dizendo aqui q vc deve fazer um software porco ou trabalhar de mal jeito na industria, mas se tiver opotunidade de escolher, nao inventa a roda e faz algo mais simples, e que entrega mais rapido, no final do dia, empresa nao é familia e software dos outros não é so seu software

2

Isso tudo é verdade. O diabo sempre mora nos detalhes. Uma pessoa inexperiente leva isso a ferro e fogo e toma um monte de decisões erradas que funcionam, mas depois cobram um preço e depois vai tudo sendo apagamento de incêndio. Tudo tem contexto. Uma pessoa esperta vai entender isso e aproveitar bem, uma ingênua vai sair destruindo tudo.

Fiat 147 todo detonado andando pelas ruas

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1

Uma pessoa inexperiente em qualquer contexto vai seguir a ferro e fogo tudo até ela aprender de fato como as coisas funcionam...

1

Excelente texto, faz muito sentido... Hj quando posso escolher escolho a linguagem que mais otimizar o trabalho...