Por que aprender várias linguagens de programação pode ser útil para sua carreira

2022-01-11

Certamente que aprender linguagens de programação exotéricas não vai te proporcionar um aumento de salário, mas com certeza vai te abrir portas.

Assim como nós sabemos que saber pelo menos ler inglês é crucial para crescer na carreira de desenvolvimento de software, aprender outras linguagens de programação também colabora no crescimento técnico pessoal seu.

Pense no seguinte, se você aprender inglês, vai conseguir consumir conteúdo em inglês. Se você só sabe ler inglês, perde a oportunidade de consumir vídeo tutoriais, palestras, podcasts e qualquer outra coisa em inglês que seja acessível. Se você nem consegue ler em inglês, então não consegue consumir nenhum tipo de informação escrita em inglês.

Da mesma forma, se você não sabe espanhol, francês, alemão, também não consegue consumir conteúdo nestes idiomas.

Ok, mas o que idioma tem a ver com linguagem de programação? Acesso a conhecimento. Pessoalmente acredito que conhecimento é uma das coisas mais valiosas em que você poderia investir seu tempo.

Saber Java não somente é útil para conseguir algum emprego onde você vai precisar escrever código em Java, mas também é útil para consumir conteúdos em Java, como palestras em eventos especializados em Java (Devoxx ou as conferências da Oracle). Muitos padrões enterprise são muito bem descritos em palestras que usam Java ou C# como base. Conseguir pelo menos ler alguma dessas linguagens é muito útil.

Em eventos da comunidade Ruby você consegue aprender sobre as melhores práticas no desenvolvimento de software, como TDD, BDD, Agile, eXtreme Programming além de orientação a objetos (no canal Confreaks você encontra várias Ruby Conf e outros eventos). Eu particularmente aprendi muita coisa sobre SOLID e refatoração em eventos de Ruby. Essas palestras estão disponíveis no YouTube "gratuitamente", sabe o que você precisa pra conseguir consumir esse tipo de conteúdo? Entender o básico da linguagem.

Claro, com o seu JavaScript você consegue ter acesso a muita informação, assim como existe muita informação em Português.

Mas sabe aquela tecnologia que está no bleeding edge? Ou aquelas práticas de desenvolvimento que são bem enraizadas em uma comunidade em torno de uma linguagem de programação? É, você só vai conseguir entender o conhecimento se alguém traduzir para "algo que você entenda" ou se você conseguir ler e entender a tecnologia base.

Eu nunca fui um desenvolvedor Ruby, nem pretendo ser. Mas entender a sintaxe da linguagem e ter alguns modelos mentais básicos mas cruciais para entender o "core" do Ruby, me abriu portas para conseguir consumir conteúdo produzido da comunidade Ruby para a comunidade Ruby.

Da mesma forma que aprender Haskell abriu portas para compreender coisas como Functors, Applicatives, Monads, Effectful Programming, State Transform e mais um monte de coisa. Elixir me abriu portas para pensar diferente sobre processos, máquinas virtuais e uso eficiente de recursos. Com Clojure eu aprendi sobre pré condições e pós condições, além de geração automática de testes baseados em propriedades.

Saber o que é uma monada é irrelevante no meu dia, mas ver programas serem construídos de uma forma diferente meio que dá um choque no cérebro e o tico e o teco começam a bater de forma diferente, saca?

Definitivamente aprender Haskell, Ruby, Elixir, Clojure e diversas outras linguagens não me proporcionaram um aumento salarial diretamente. Mas tudo que aprendi consumindo direto dessas comunidades foi tão valioso que nem consigo expressar o quanto.

A dica que deixo é: não aprenda uma linguagem de programação e feche as portas para outras tecnologias. Existe muito conhecimento por aí dando sopa, você "só" precisa saber como consumir.

#carreira

📝 Edite esta página