#3 Escolha de Linguagem de Programação

O PHP vai morrer, Ruby já era, Java é coisa de velho… 💀💀💀

Torcida contra sempre vai ter, mas no mercado as coisas não funcionam assim. Lembro como se fosse hoje que na minha primeira entrevista de emprego fiquei sabendo que o software principal da empresa era Cobol 🤷🏽.

Não vejo motivo para uma preocupação pesada em começo de carreira se a linguagem de programação que você está escolhendo vai ou não morrer, é boa ou não, tem futuro ou não.
Em começo de carreira, e especialmente na casa dos 20 anos ou menos, o que hoje eu avalio, é que não há motivo para se deixar ficar ansioso sobre isso. Explico abaixo:

Se você está escolhendo, é porque tem energia/comunidade

A juventude tem um faro especial para perceber o que tem vida e o que não tem. Nós sentimos a pulsação. Há um sentido interno que nos aproxima do que tem mais afinidade conosco.

O padrão estético dos cursos, o que fica popular nas redes, as escolhas nas universidades, tudo isso vai mudando e apontando uma direção. Se ao chegar na faculdade estão usando Java ou Python, ainda tem valor. Se você encontra um curso divino de JS, PHP ou Ruby é porque tem energia na comunidade, tem mercado.

Acontecerão também movimentos regionais, PHP Symfony na França 🇫🇷 é mais forte que no Brasil 🇧🇷. Onde você está, com quem você está e como se informa irão te encaminhando para um bom lugar…

Ah, mas nem sempre ir com a massa é o melhor caminho.
Claro que não, e não estou dizendo que é para seguir a massa, é que se existirem pessoas falando um tema (as vezes como hype dentro da universidade, ou como quando o Ruby surgiu mais forte no Japão) tem valor, e não é sobre ser popular ou não, é sobre energia, é sobre ter pessoas envolvidas, acreditando em algo e você sentindo que esse caminho te atrai, te apaixona, de impulsiona. 🚀

Acompanhar o movimento de uma comunidade é muito seguro

Ah, mas a linguagem vai ter mercado?
E se eu jogar fora todos os anos de estudo?

Bem, essa é uma das coisas mais legais sobre trabalhar com software. Você nunca perde a maior parte do estudo.

As linguagens se inspiram umas nas outras e se você sabe fazer condicional e loop em Java, provavelmente vai saber fazer em mais uma dezena de linguagens populares no mercado.

Os ecossistemas até mudam bastante, as biblliotecas, os frameworks, etc. Mas estes recursos inspiram-se uns nos outros 🪞.

Exemplos: O framework Symfony do PHP usa elementos inspirados no Spring do Java. O Doctrine do PHP é totalmente inspirado no Hybernate. Praticamente todas as linguagens web modernas adotaram gerenciadores de pacotes mais próximos do incrível trabalho das gems no Ruby on Rails.

Outra questão é que existem técnicas que estão por trás dos conceitos. Teste unitário, como conceito, se aplica para todas as linguagens. Teste unitário, como ferramenta, temos as suítes de teste do tipo XUnit presentes em muitas linguagens. Teste unitário, como implementação dos detalhes em cada linguagem possuem características que você compreende em semanas, não em anos.

Embora o processo de criação de testes possa levar anos para ser dominado, o conceitual e a técnica, que é o que demora mais para ser dominado, você leva de uma linguagem para outra 🧳🧳.

Então, tudo que você aprende de conceito, de técnica, de método, e até de biblioteca e estruturas de sintaxe terão valor em outras linguagens. Então talvez na migração entre linguagens você jogue fora 20 ou 30 por centro. Mas os outros 70 ou 80 permanecem.

E aqui entra a mágica da comunidade. 💬💬💬

Se você está acompanhando uma comunidade, seguindo mais ou menos de perto o que falam os líderes desse grupo, vendo o movimento das principais referências, você observará para onde a migração estão ocorrendo e poderá migrar junto ✈️. Se você está atento e mais ou menos participando da comunidade, vendo o Twitter, você sabe, você enxerga a mudança com confiança.

Aqui o segredo é apenas estar atento ao mundo que você escolheu, conectado com ele, sem apego excessivo.

Don’t overthink the things

Vamos lá, não sei como dizer isso de forma educada, vou tentar:

“em começo de carreira você é absolutamente incapaz de avaliar racionalmente a presença ou o futuro de uma linguagem de programação.”

E isso ocorre por vários motivos que vou tentar comentar aqui:

A maior parte do conteúdo digital é feito para chamar atenção, é marketing, caça cliques.

Muita informação é escondida ou pouco clara. 🎭

Por exemplo, a turma adora dizer que 80% da web é feita em PHP para justificar que PHP é uma boa escolha. Mas 99% da web aberta é absolutamente irrelevante comercialmente para a maioria dos desenvolvedores de software.

Qual o percentual dos softwares tipo SaaS que rodam na web? Qual o percentual das aplicações de pequeno porte regionais onde estão grande parte dos empregos? Essas informações são raras.

Em empresas grandes, corporativas, Java é importante. Ruby tem produtos web de altíssima escala e valor como Basecamp. A turma do Balsamiq usa DotNet. Khan Academy feita em Python com partes migrando para Go. No Brasil Mercado Livre com Java e Go.

O problema é que você demora para acumular informação de qualidade, para conhecer pessoas trabalhando em grandes empresas e ter informações mais reais e menos marqueteiras.

Pensar demais sobre a presença ou o futuro de uma linguagem vai gerar muita ansiedade sem necessidade, sua via profissional não precisa disso 🤯🤯🤯.

Relaxe quanto à gráficos, dados de vagas em aberto, e etc. Se você estiver atento e por dentro de uma ou duas comunidades que te interessam, onde você se sente acolhido e instigado, você vai adquirir uma compreensão sólida sobre o SEU mercado.

Resumindo

Tem mais valor participar ativamente de uma ou duas comunidades de tecnologia do que tentar entender o que o mercado quer via conteúdo de internet.

Conectar-se com pessoas e tecnologias que lhe trazem um sentimento simultâneo de acolhimento e impulsão é muito valioso.

Isso não quer dizer seguir a massa, quer dizer acompanhar um grupo de pessoas, seja lá onde elas estiverem no mundo, que lhe trazem curiosidade e pertencimento.

E evitar pensar demais sobre gráficos e números das linguagens no mercado, isso pode enganar se não tiver alguns anos de experiência analisando essa informação.

No mais, aproveite a jornada que se inicia.

Conversar? No Twitter.