O caminho do iniciante
07 Jul 2026 - ⧖ 8.0 minO pior momento na carreira de dev é o início onde você não sabe para onde quer ir e provavelmente irá perder muito tempo fazendo algo que no momento você acha que é o caminho certo, mas daqui alguns meses notará que foi apenas uma perda de tempo. Essa é minha tentativia de te poupar esse tempo explicando por onde começar.
O primeiro passo é a faculdade, e eu já tenho um texto sobre isso, esse é o segundo.
Qual melhor linguagem para começar?
A principal dúvida dos iniciantes. Serei curto e grosso igual meu pé, a melhor linguagem para começar é a que você iriá seguir carreira. Por exemplo, não faz sentido aprender uma linguagem fácil e depois aprender a que você quer, isso é total perda de tempo. E tem até uns animais que já vi sugerir começar pela mais difícil e depois ir para sua principal.
Deixe-me justificar minha ideia. Quando você aprende uma linguagem de programação, você não vai aprender apenas a linguagem, também é necessário aprender o ecossistema. O que eu quero dizer com isso? Aprender a linguagem e as tecnologias adjacentes, frameworks, libs, etc. Tendo em vista isso, quanto antes você focar em um ecossitema melhor.
Dito isso...
Como escolher minha linguagem?
Eu vejo três principais caminhos para escolher uma linguagem de programação:
- Interesse
- Mercado
- Sênior
Área de interesse
Aprenda o que te interessa. Eu acredito também que essa seja o caminho mais gratificante de aprendizado. Mas não é todo mundo que tem o privilégio de procurar uma linguagem apenas por interesse, né? É algo mais voltado para quem ainda é adolescente, para quem ainda está no ensino médio, não ingressou de fato numa faculdade, nem no mercado de trabalho, ainda está experimentando.
Eu acho que escolher a linguagem de programação com base em interesse é muito legal e também muito gratificante. Mas aí entra outra questão, interesse em que exatamente? No caso, seria interesse em áreas. Ah, se tu quer aprender sobre machine learning, aprendizado de máquina, o mais indicado aí é estudar o famoso Python.
Ah, mas meu interesse é, por exemplo, low level, linguagem de baixo nível, tu vai procurar sobre C, vai procurar sobre Zig, vai procurar aprender Rust. Seria com foco em interesse.
Mercado
Mas aí tem aquele ponto, né? Nem todo mundo tem esse privilégio. Às vezes, a pessoa tem que entrar no mercado o quanto antes. Aí, não pode olhar tanto a parte de interesse, né?
Tu poderia escolher tua linguagem de programação com base no mercado, com base, por exemplo, no que está em alta.
É ir no Google, procurar o que é que está em alta de linguagem de programação. Linguagens em alta, aí vamos ver aqui no Google. Aqui é uma pesquisada rápida no Google.
As mais populares: Rust, Go, Java, JavaScript, Kotlin, TypeScript. Enfim, por aqui você já tira, né? Com base em mercado. Olhando as linguagens que estão em alta, daí tu já consegue achar um norte para seus estudos. Outra fonte muito boa é procurar pela vaga que lhe interessa no LinkedIn e busca pelas palavras que se repetem nas vagas.
Mas ainda tem uma ressalva nessa questão de escolher linguagem com base no que está em alta. Seria basicamente o que está em alta hoje, pode não estar em alta amanhã.
Essas daqui foram as linguagens em alta para agora, 2026. amanhã, em 2027, já pode ser outra, em 2028 pode ser outra. Enfim, isso muda.
Obviamente que tu não vai ficar preso a uma linguagem só, né? Tipo, uma linguagem é uma ferramenta. Tu vai se adaptar conforme a necessidade, conforme o mercado, conforme o projeto que tu estiver fazendo. Tu vai se adaptar, obviamente.
Mas, principalmente para a primeira linguagem de programação, tem uma curva de aprendizado muito grande. Enquanto para a tua segunda, tua terceira linguagem, já começa a perceber muitos padrões, tu fica mais fácil o aprendizado, tu pega as coisas mais rápido. Sem contar que algumas algumas linguagens também têm suas particularidades. Por exemplo, o Java é um bom exemplo. É uma linguagem fortemente tipada, enquanto o JavaScript não é fortemente tipado. Enfim, todas elas tem suas particularidades. Aí eu acredito que para a primeira linguagem deveria ser uma escolha, assim, bem feita com calma, entendeu? Porque você tem que levar em consideração vários fatores.
Sobre mercado, ainda tem outro ponto. Você também poderia, ainda dentro de mercado,escolher uma linguagem com base no segmento, no setor de atuação.
Então, os principais setores que eu lembrei aqui rapidamente foram esses, o setor bancário, mobile, web, embarcados. O setor bancário é muito forte o Java. Se tu quiser trabalhar e em banco, por exemplo, o Itaú, Nanobank, banco no geral, banco, fintech, é bom tu focar em Java.
Já se tua ideia é ir para o mobile, pô, aí tu vai para o Kotlin, que é um filho do Java. Tu vai para o Swift, se for o desenvolvimento para iOS. Também tem o React Native para o desenvolvimento, para ambas as plataformas, né, o desenvolvimento Android e desenvolvimento iOS.
Para o web, muito forte na web é o JavaScript, o TypeScript, né, e também o PHP. Se tu quer ir para a web, não tem muito o que fugir, tipo, sempre vai andar nessa linha aqui.
Setor de embradados. Quem é grande nos embarcados é a família do C: C, C++, que são grandes para embarcados.
Para a parte de jogos, C#, Unity. Tem o C# em grandes partes dos jogos. Se tu tá escolhendo a linguagem com base em mercado, eu não acho que jogos não seria o melhor segmento para tu seguir profissionalmente, eu acho que jogos eu acabaria enquadrando ali dentro de interesses também, o segmento de jogo é muito ruim no Brasil.
Sênior
A terceira via que eu imagino, seria tu escolher tua linguagem com base num sênior. Aí o que seria isso, exatamente? Por exemplo, tu tem um amigo que ele já é desenvolvedor, ele já trabalha com programação, e te passa o caminho das pedras.
Por exemplo, ele trabalha com o Java no setor bancário, aí tu começando com o Java, ele já pode te passar as dicas do caminho a ser trilhado com o Java, porque cada linguagem meio que tem ali seu conjunto de ferramentas, frameworks, e no começo, às vezes, tu vai perder muito tempo pensando nesse caminho, tá entendendo?
Tem vários frameworks do Java, eu vou citar aqui o Spring Boot e eu vou citar o Quarkus, esses dois frameworks são os principais para Java. Aí tu lá, iniciante, aí pode ser que tu acabe fazendo uma escolha entre aspas erradas, né, de ir pro Quarkus, enquanto o que tem mais adesão de mercado é o Spring Boot. Quando tu tiver interesse em ir pro mercado, tu tem um pouco mais de dificuldade, compreende?
Então por isso eu acredito que também seria um bom caminho tu escolher uma linguagem de programação com base num sênior, não necessariamente um sênior, mas um amigo, uma pessoa próxima que já tem experiência prévia com alguma coisa e que possa te passar o caminho das pedras, ao invés de tu ter que ir lá do zero, pesquisar tudinho qual é melhor framework pra tal linguagem, com quais ferramentas aprender, a pessoa já pode ir te passando os toques.
Ele vai te guiar com base num que é mais aceito pelo mercado, porque também é uma pessoa com mais experiência e tem mais visão.
Tabela
Irei te apresentar algumas subáreas que você pode ser como dev. Muito comum no início sequer imaginarmos que há essa diversidade.
| Áreas | Linguagens mais relevantes | Principais aplicações |
|---|---|---|
| Desenvolvimento Web (Front-end) | JavaScript, TypeScript | Interfaces web, SPAs, SSR, aplicações modernas |
| Desenvolvimento Web (Back-end) | JavaScript (Node.js), TypeScript, Java, C#, Go, PHP, Python | APIs, microsserviços, sistemas web |
| Desenvolvimento Mobile (Android) | Kotlin, Java | Aplicativos nativos para Android |
| Desenvolvimento Mobile (iOS) | Swift | Aplicativos nativos para iPhone e iPad |
| Desenvolvimento Mobile Multiplataforma | TypeScript (React Native), Dart (Flutter) | Apps para Android e iOS com uma única base de código |
| Inteligência Artificial / Machine Learning | Python, R, Julia | IA, Deep Learning, Ciência de Dados |
| Ciência de Dados / Análise de Dados | Python, R, SQL | Análise estatística, visualização e processamento de dados |
| Engenharia de Dados | Python, Java, Scala, SQL | ETL, Big Data, pipelines de dados |
| Computação em Nuvem (Cloud) | Python, Go, Java, TypeScript | Automação, infraestrutura, microsserviços |
| DevOps / Automação | Python, Bash, Go | Scripts, CI/CD, infraestrutura como código |
| Cibersegurança / Pentest | Python, C, C++, Bash | Ferramentas de segurança, análise e automação |
| Sistemas Embarcados / IoT | C, C++, Rust | Microcontroladores, firmware, dispositivos eletrônicos |
| Sistemas Operacionais | C, C++, Rust | Kernel, drivers e software de baixo nível |
| Sistemas Militares e Aeroespaciais | Ada, C, C++, Rust | Sistemas de defesa, aviônica, radares, mísseis, satélites e software de missão crítica |
| Programação de Baixo Nível | C, C++, Assembly, Rust | Hardware, sistemas críticos e otimização |
| Desenvolvimento de Jogos | C# (Unity), C++ (Unreal Engine), GDScript (Godot) | Jogos 2D, 3D e engines de jogos |
| Blockchain / Web3 | Solidity, Rust, Go, JavaScript | Smart contracts, DeFi, criptomoedas |
| Finanças / Bancos / Fintechs | Java, Kotlin, C#, Go | Sistemas bancários, meios de pagamento e alta disponibilidade |
| Desktop | C#, Java, C++, Electron (JavaScript/TypeScript) | Aplicações para Windows, Linux e macOS |
| Automação de Testes (QA) | Java, Python, JavaScript, TypeScript | Testes automatizados e qualidade de software |
| Low Code / No Code | JavaScript, TypeScript (para extensões), Power Fx | Power Platform, OutSystems, Mendix e automações |
| Computação Científica | Python, Julia, MATLAB, Fortran | Simulações, pesquisa e cálculos científicos |
| Robótica | C++, Python, Rust | Robôs industriais e autônomos |
| Visão Computacional | Python, C++ | Reconhecimento de imagens e vídeos |
| Processamento de Linguagem Natural (NLP) | Python | Chatbots, tradução e IA de texto |
| Realidade Virtual (VR) e Aumentada (AR) | C#, C++ | Experiências imersivas |
| Computação Gráfica | C++, C#, GLSL | Renderização e motores gráficos |
| CAD / Engenharia | C++, C#, Python | Softwares de engenharia e modelagem |
| Bioinformática | Python, R | Genômica e análise biológica |
| Saúde / Tecnologia Médica | Java, C#, Python, C++ | Sistemas hospitalares e equipamentos médicos |
| Telecomunicações | C, C++, Erlang, Go | Redes, centrais telefônicas e protocolos |
| Sistemas Distribuídos | Go, Java, Rust | Serviços escaláveis e alta disponibilidade |
| Computação de Alto Desempenho (HPC) | C++, Fortran, Julia | Supercomputadores e simulações |
| Automação Industrial | C, C++, Structured Text (IEC 61131-3), Python | PLCs, fábricas inteligentes e controle industrial |
| Trading Algorítmico | Python, C++, Java | Robôs de investimento e mercado financeiro |
| Desenvolvimento de Compiladores | C++, Rust, OCaml | Compiladores, interpretadores e ferramentas de linguagem |
| Bancos de Dados | SQL, PL/SQL, T-SQL | Administração e otimização de bancos de dados |
| Engenharia Reversa | C, C++, Python, Assembly | Análise de binários e softwares |
| Sistemas em Tempo Real | Ada, C, C++, Rust | Controle industrial, defesa e dispositivos críticos |