A Empresa Não Te Dá Opção de Escolha
“Ouvi dizer que Python é tendência, será que podemos usar aqui?”
Será que um desenvolvedor júnior pode dizer isso na empresa? Impossível.
Antes de conseguir o emprego, eu podia escolher a linguagem que quisesse. Usava Python porque era vantajoso (quase um ‘cheat code’) nos testes de lógica e estudava Java porque diziam que tinha mais vagas. Mas a realidade da equipe pequena (startup) onde caí de paraquedas era bem diferente.
A Stack Tecnológica da empresa já estava decidida. O código legado rodava em Java (Spring Boot), as telas eram desenhadas em JavaScript (Vue.js) e, de repente, caiu no meu colo a manutenção de um App Android, me obrigando a mexer com XML e um dialeto de Java diferente.
Eu nunca escolhi nada disso. O ambiente (Framework) simplesmente impôs essas linguagens a mim. No começo, fiquei aterrorizado com aquela enxurrada de sintaxes estranhas. Mas, conforme eu lia e escrevia código desesperadamente para sobreviver, percebi um fato crucial:
“Ué? Isso é exatamente o mesmo conceito de Java que eu estudei antes!”

A Sintaxe Muda, a Essência é a Mesma (Concept Transfer)
Na época da faculdade, passei rapidamente por C e me aprofundei bastante em Java. Quando chegou a temporada de busca por emprego, ouvi na comunidade que “Python é o rei dos testes técnicos” e abri um livro de Python pela primeira vez.
A sintaxe era estranha no início, mas surpreendentemente me adaptei em poucos dias. Não porque Python fosse fácil, mas porque eu já conhecia a ‘Essência da Programação’ através do Java.
- List do Python: “Ah, isso é basicamente um
ArrayListdo Java misturado com funções deStackeQueue.” - Dictionary do Python: “Isso é igualzinho ao
HashMapdo Java. Armazena pares de Key-Value.”
Eu não estava aprendendo uma nova linguagem do ‘zero’. Eu estava apenas pegando o ‘Mapa do Java’ que já existia na minha cabeça e colando etiquetas com os ‘Nomes em Python’ por cima. Na pedagogia, chamamos isso de Transferência de Aprendizado (Transfer of Learning). Se você cava fundo em uma linguagem, a velocidade para entender a próxima é proporcional a essa profundidade.
UI também é, no fim das contas, uma Árvore (Tree)
Essa experiência brilhou em uma área totalmente diferente.
Na faculdade, mexi com HTML e CSS para fazer uns ‘freelas’ reformulando o site da escola e ganhar um trocado. Na época, nem achei que isso contaria como experiência de dev.
Porém, depois de contratado, surgiu a tarefa aleatória de corrigir a UI do aplicativo Android. O Android usa uma linguagem de marcação chamada XML para construir a interface. Como era meu primeiro contato com mobile, fiquei tenso, mas ao abrir o código, comecei a rir.
<!-- Android XML -->
<LinearLayout orientation="vertical">
<TextView text="Hello World" />
<Button text="Click Me" />
</LinearLayout>
<!-- HTML -->
<div style="display: flex; flex-direction: column;">
<span>Hello World</span>
<button>Click Me</button>
</div>
Apenas os nomes das tags mudaram. A estrutura de “colocar um elemento filho dentro de um elemento pai e definir a aparência com atributos” era idêntica ao HTML. Como eu já entendia a estrutura da Árvore DOM e o Box Model, dominei o layout Android num piscar de olhos.

Framework: A Coisa que a Escola Não Ensinou
Na verdade, o que me deixou mais confuso do que a linguagem foi a existência dos Frameworks.
A faculdade só ensinava o ‘físico básico’: sintaxe C, estruturas de dados, algoritmos. Claro, eu já tinha ouvido falar de ‘React’ ou ‘Spring’. Até comprei um livro de React porque ouvi na comunidade que “React é o futuro”.
Mas fechei o livro antes da metade. Eu não conseguia entender por que tinha que programar daquele jeito. “Poxa, não é só criar uma função e chamar? Por que tenho que herdar um Component e colocar dentro de uma função render? Por que o controle não está comigo?”
Naquela época, eu não sabia a diferença crucial entre Biblioteca (Library) e Framework.
- O que aprendi na escola (Estilo Library): Eu escrevo o código e chamo as ferramentas (funções) quando preciso. (Construir a casa do meu jeito, martelando onde eu quiser).
- O que uso na empresa (Estilo Framework): A ferramenta (Framework) me chama. Eu só preencho os espaços vazios com código. (Montar uma casa pré-fabricada seguindo o manual).
Se na escola aprendi a martelar livremente, o Framework na prática era como uma fábrica gigante que dizia: “Nós fazemos a martelada, você só coloca o prego neste buraco aqui” e me obrigava a seguir isso. Por não conhecer esse conceito de Inversão de Controle (Inversion of Control), o livro parecia estar escrito em grego.
Se Você Conhece a Linguagem, o Framework se Revela
Mas, ao ser jogado na selva e forçado a usar Frameworks, encarei uma verdade irônica.
Por mais que o Spring Boot faça suas mágicas complexas, por dentro ele é feito de código Java.
Aquelas anotações mágicas como @Autowired nada mais são do que aplicações da técnica de Reflection do Java. O sistema reativo do Vue.js é apenas o uso inteligente de Objects e observadores do JavaScript.
“Se a base (Linguagem) é sólida, você enxerga como o Framework (Aplicação) funciona.”
No início, mergulhei no Spring MVC sem saber nada, mas como eu entendia Java, percebi rápido: “Ah, o framework está executando meu código por mim. Eu só preciso entregar o objeto seguindo essa regra”.
Se eu tivesse uma base mais sólida de JavaScript na época que desisti do livro de React, teria entendido por que o React foi desenhado daquela forma.
[Dica] Receita para Estudantes com Paralisia de Escolha
“Qual linguagem devo estudar?”
Essa é a pergunta campeã nos fóruns. Não é que você precise usar apenas uma linguagem para sempre. Mas, paradoxalmente, para ser bom em várias, no começo você precisa focar em apenas uma.
Se você é um estudante travado sem saber a direção, feche os livros e abra um Site de Vagas (LinkedIn, etc.) agora.
- Procure a Descrição da Vaga (JD) da empresa onde quer trabalhar ou que acha interessante.
- Escolha uma Stack Tecnológica (Linguagem + Framework) que está escrita lá.
- Estude essa Stack profundamente.
“Mas essa empresa usa Spring e aquela usa Node.js, e agora?”
Não importa. Se você dominar uma de verdade, serve. Como disse antes, a essência da programação se transfere. Quem domina Spring, se adapta rápido se a empresa mandar usar Node.js depois de contratado. Mas quem só “beliscou” um pouco de cada, vai se perder em qualquer Framework que aparecer pela frente.
Pare de sofrer e cave fundo em uma tecnologia que o mercado (as vagas) pede. Esse é o caminho mais rápido.
[Code Verification] Linguagens Diferentes, Memória Única
Vamos confirmar com código que, apesar das linguagens diferentes, o que acontece dentro do computador é igual. O ArrayList do Java e a list do Python têm sintaxes diferentes, mas a lógica de aumentar a memória (Dynamic Array) é a mesma.
Java:
// Java: Quando enche, aumenta o tamanho em 1.5x e muda de endereço.
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
// Internamente: Cria Array -> Adiciona dado -> Se faltar espaço, cria Array maior e copia.
Python:
# Python: Quando enche, aumenta aprox. 1.125x + algo e muda de endereço.
my_list = []
my_list.append(1)
# Lógica interna é quase idêntica ao Java (Usa realocação de array do C)
Não importa a linguagem, o método de trabalho do Centro de Logística Digital (Computador) não muda. As regras de uso do Operário (CPU) e do Armazém (Memória) são universais.
Conclusão: Troque o Medo pela Curiosidade
Vivendo como desenvolvedor, o momento de usar uma linguagem ou framework que você não quer vai chegar. Quando isso acontecer, você vai fugir dizendo “Sou dev Java, odeio Python”?
Linguagem não é religião, é Ferramenta. E Framework é a Oficina onde usamos essa ferramenta.
Quem tem a experiência de ter cavado fundo em uma linguagem (Língua Materna), aprende a usar novas ferramentas rapidamente.
Então, não se assuste se for obrigado a usar uma Stack desconhecida na empresa amanhã. A casca é diferente, mas o recheio é o mesmo que você já conhece.
Agora que eliminamos o medo das linguagens, no próximo post vamos entrar no mundo real onde o código vive: as profundezas da Memória (RAM). Quando você souber onde seu código fica cravado na RAM e como ele roda, a barreira das linguagens ficará ainda menor.