Software Engineer

Com qual linguagem eu deveria começar?

Por que essa dúvida existe?

É bastante comum ver em discussões desse tipo, pessoas citando as linguagens que elas mesmas começaram, ou até mesmo o caminho que seguiu, isso nos leva a observar que, cada pessoa tem sua realidade, e vai sugerir ela como “sendo o caminho certo”. Mas a realidade é que, esse conceito de caminho certo não existe, pelo menos não em programação. Mais importante que isso, é trilhar seu próprio caminho, fazer suas próprias escolhas, isto é: não terceirizar tuas decisões.

Em um dos eventos de programação que participei, conheci a história de um rapaz, que é bastante referência na comunidade, e que era químico por formação, mas que acabou migrando para TI. O que mais me impressionou, foi a linguagem que ele começou: Rust!

Isso veio totalmente contra o que eu tinha visto até então para uma primeira linguagem, e isso me fez perceber que, você não precisa começar com JavaScript, PHP ou Python para ser um bom programador. Mais importante que isso, é ter em mente que programação tem um feijão com arroz, e ele não está associado a uma linguagem. Estes são os conceitos, aquelas coisas que dificilmente mudam, como arquiteturas e padrões.

É importante saber uma linguagem? Definitivamente, mas para usar uma linguagem devidamente, você precisa saber o que fazer, e como fazer. Eu me refiro a padrões como REST, por exemplo, para construções de API. Você sabe como é? Sabe como funciona o protocolo HTTP? Se você for trabalhar com programação para desktop, é importante saber como funciona a alocação de memória, e até ir um pouco mais a fundo na arquitetura do sistema operacional. Essas são as coisas básicas que você precisa saber para se tornar um bom programador.

O que posso fazer?

A minha recomendação pessoal é que a pessoa busque entender onde quer atuar: web, desktop, mobile, data science, etc. Acredito que a melhor forma de se fazer isso, é caindo de cabeça, experimentando, tirando suas próprias conclusões. Após ter se decidido, você vai ter um foco, e assim não vai se sentir perdido.

Tem um site que gosto bastante, o roadmap.sh. Como o próprio nome sugere, ele nos dá um roteiro de estudos para se tornar um desenvolvedor, seja backend, frontend, mobile, etc. Vemos aqui um detalhe: Ele cita vários outros assuntos antes de sugerir aprender uma linguagem.

Roadmap.sh - backend

Outra dúvida comum para iniciantes quando chegam na etapa de escolher uma linguagem: mercado de trabalho. Mas para ser sincero, acredito que no momento inicial pouco importa: Seu foco deve ser aprender conceitos e aplicar usando qualquer linguagem de programação, e não deveria perder tempo se preocupando com o que está sendo usado no mercado de trabalho. Eu até recomendo que você aprenda um conceito e replique ele em mais de uma linguagem. Mas se tratando do mercado de TI, há espaço para todas as linguagens. Este é um assunto legal de se discutir, mas falaremos disso em um próximo blog post.

Obrigado por ler. Caso tenha alguma dúvida, pode me contatar via Twitter.