Executando verificação de segurança...
2

Discussão: Sua stack importa para a sua carreira como desenvolvedor?

Fala pessoal, gostaria de levantar uma discussão aqui com a comunidade à respeito de um questionamento que eu me venho fazendo há algum tempo e gostaria de, primeiramente contextualiza-los do meu pensamento.

Ultimamente venho maturando a minha visão sobre a área de programação por meio de conteúdos de criadores da área (bastante conteúdo do Filipe Deschamps inclusive) e por meio da minha experiência como programador.

Venho concordando bastante com a ideia de que o programador é alguém que soluciona problemas com tecnologia, e que linguagens, bibliotecas e frameworks são somente ferramentas, uma visão que é um pouco difícil de se ter quando você é um iniciante e se preocupa bastante com o mercado, que foi o meu caso quando decidir começar na área.

Contudo, acho que essa ideia se encaixa perfeitamente para alguém que prefere viver do seu próprio negócio ou para aquela pessoa que realmente só usa programação pra resolver um problema ou outro da rotina ou do trabalho. Para um programador que trabalha para empresas e que está mais inserido no mercado de programação eu ainda concordo que ter a mentalidade de resolver problemas e propor melhorias tem um valor muito grande, mas acho que a stack de alguma forma importa, pois o arsenal de tecnologias do profissional pode ser uma porta para boas oportunidades.

Venho me questionando isso pois farei um intercâmbio para a Europa e pretendo, durante o meu tempo por lá, me esforçar para conseguir uma oportunidade como desenvolvedor. Penso que utilizar meu conhecimento para empreender e entregar soluções pode me ajudar a conseguir essa oportunidade, mas pensando no mercado de programação da região, acho que minha principal stack (PHP e Laravel) não é muito requisitada por lá, logo acabo considerando direcionar algum tempo para me especializar mais em outras tecnologias.

Acho que isso é um assunto interessante de se debater. Gostaria muito de ouvir a todos, seja iniciante ou mais experiente.

Carregando publicação patrocinada...
5

Vou te dar uma perspectiva um pouco mais direta, talvez até um pouco polêmica, mas que vem da observação de como o mercado realmente funciona, especialmente nas melhores empresas.

Você está no caminho certo ao pensar que programador resolve problemas, mas está caindo na armadilha que a maioria cai. A pergunta não é se a sua stack importa. A pergunta é: para qual tipo de emprego ela importa?

E a verdade é a seguinte: sua stack (PHP/Laravel, no seu caso) é a coisa mais importante do seu currículo para os empregos ruins ou medianos. Para os empregos excelentes, ela quase não importa.

Deixa eu explicar.

As vagas "ruins" ou limitadas são aquelas que procuram um "Desenvolvedor Pleno de Laravel". O gerente não-técnico ou o RH receberam uma ordem pra contratar alguém que continue apertando os mesmos parafusos na mesma máquina que já existe. Eles não querem um engenheiro, querem um operador de framework. Para essas vagas, se você não tiver a palavra-chave "Laravel", seu currículo vai direto pro lixo. O foco deles é preencher uma cadeira com o mínimo de atrito possível.

Agora, as vagas boas – as de Big Tech (FAANG etc.), as de startups inovadoras, as que pagam salários europeus de verdade – raramente anunciam "Procuramos um especialista em X". Veja as vagas de entrada do Google, da Microsoft, da Amazon. Elas pedem "Software Engineer". O que elas testam no processo seletivo? Algoritmos, estrutura de dados, system design, princípios de computação. Elas partem do princípio que um bom engenheiro, com uma base sólida, aprende qualquer framework em poucas semanas.

Por isso, na minha visão, a sua stack não importa, desde que você domine os fundamentos de verdade. E os fundamentos se traduzem em algumas linguagens-chave que todo engenheiro de software sério deveria ter no cinto de utilidades:

  1. Assembly: Não pra escrever todo dia, mas pra entender como um computador funciona no nível mais baixo.
  2. C: É a base de quase tudo.
  3. JavaScript: É a língua franca da web. Impossível ignorar.
  4. Java ou C# ou Go: Para entender sistemas robustos, tipagem forte e concorrência em larga escala.
  5. Python: Pela sua versatilidade absurdaz

Se você tem uma base sólida nisso, você não é um "programador PHP". Você é um engenheiro de software que, por acaso, usou PHP/Laravel para resolver problemas de negócio. É uma mudança de mentalidade e de como você se vende.

Meu conselho prático pra você na Europa:

Não se desespere achando que seu conhecimento em PHP não vale nada. Ele prova que você sabe construir e entregar projetos. Mas, em vez de gastar seu tempo virando um "especialista" em outra stack da moda, reforce seus fundamentos. Estude algoritmos. Faça projetos em C ou Go pra mostrar versatilidade. Resolva problemas no LeetCode.

Quando você for para uma entrevista, não diga "Sou dev PHP". Diga: "Sou um desenvolvedor que resolve problemas. No meu último projeto, construí um sistema X que fazia Y, usando uma arquitetura MVC com PHP e Laravel para garantir a entrega rápida, mas meus fundamentos de engenharia me permitem trabalhar com qualquer tecnologia".

Depois que você tem alguns anos de experiência real, sua stack se torna a coisa menos importante no seu perfil. O que importa é sua capacidade de arquitetar soluções, liderar projetos e aprender. Os frameworks vêm e vão. Os fundamentos ficam!

2

Sensacional! Demorei para retornar ao meu post porque pensei que ele iria ser perder em meio à várias outras, mas fico feliz por ter encontrado a sua resposta. Acho que essa visão que tu trouxe fecha alguns buracos que estavam existindo no meu pensamento.

Sempre estive muito preso à bolha do desenvolvimento web, e passei um bom tempo da carreira pulando de um linguagem para outra, até começar a trabalhar com PHP, onde senti mais a necessidade de entrar no segmento de desenvolvimento back-end com ela.

A verdade é que faço parte dessa nova geração de programadores que entrou na área em meio ao hype (apesar de já conhecer antes disso) e está acostumado com tudo muito rápido. Apesar de eu compreender que o aprendizado é fundamentalmente um processo demorado e de longo prazo, a realidade a qual eu estou inserido me dificulta olhar por esse lado. Infelizmente, ainda existem algumas raízes na minha cabeça que me fazem olhar para programação do seguinte modo:

Framework X paga mais.
Aquela linguagem tem mais oportunidades que a minha.
Preciso aprender aquilo para crescer mais rápido.

Acho que aos poucos estou desconstruindo isso, ainda mais pelos nomes que tento ter como referência. Alguns desenvolvedores mais experientes e que já entendem melhor como funciona.

Vou seguir seu conselho e procurar trabalhar a minha base, ainda que pensar nisso agora me cause certo incômodo por pensar que o fato de eu não estar estudando à respeito da minha tecnologia vai me deixar para trás no mercado, mas reconheço que isso é só consequência da minha geração.

Agradeço a sua resposta! :)