Dúvida sobre mudança de linguagem de programação

E ai galera, tudo bem?

Essa é a primeira vez que eu publico alguma coisa aqui, então eu não sei necessariamente se faz sentido publicar perguntas aqui ou não.

Mas vamos lá, eu sou desenvolvedor júnior (quase indo para pleno, pelo menos espero) e trabalho faz 1 ano com .NET e Angular; gosto muito dessas tecnologias e venho me especializando nelas. Porém, tbm gosto muito de nodeJs e queria trabalhar com node; vejo muita gente utilizando e da vontade de trabalhar em projetos assim.

Uma coisa que venho pensado nesses últimos dias é: se eu parasse tudo oque estou estudando sobre .NET para ir para node, voltaria quase que da estaca zero; sei que faz pouco tempo que eu de fato tenho experiência com .NET, mas fico pensando no futuro, sabe? Se de uma hora para outra, quando eu for sênior, quiser mudar para node, eu teria que voltar quase do zero e ganhar bem menos, isso me deixa bastante frustrado.

Começo a pensar se não faz mais sentido tentar ter mais bagagem com outras stacks, só para ter certeza de qual quero seguir. Porém, fazer isso significa demorar mais para subir de nível em determinada stack, e isso tbm me incomoda. Qual a opinião de vcs sobre o assunto?

PS: Tbm gostaria de aproveitar a oportunidade e deixar meu linkedIn aqui, caso alguém queira fazer conexão :).

Em geral, a dica ouço a maior parte dos seniores dando é: aprenda muito bem sua primeira linguagem para depois mudar.

Isso acontece porquê o maior desafio de se aprender programação, não está no lexico, mas na estrutura primordial, que são os bits e como eles se comportam.

Por esse mesmo motivo você vai ver que para grandes empresas há uma cobrança muito grande quanto à estrutura de dados e algoritimos e na entrevista você usa um whiteboard. Nesse começo, eu te sugeriria manter seu foco no C#. Veja que você já está tendo certa experiencia com java(type)script por causa do Angular e isso vai ser inevitável pra um desenvolvedor web (curiosidade é que o typescript foi desenvolvido pelo mesmo cara do C#, por isso tanta similaridade).

Conforme for havendo seu amadurecimento em estrutura de dados e algoritimos, você vai perceber que não vai ter dificuldades em migrar de linguagem. Todo mundo fica com a documentação aberta o tempo todo mesmo.

E falando de ambiente, Node vs .NET, .NET é mais estável e está no mercado há muito mais tempo (no entanto eu só desenvolvi profissionalmente em Node)

Veja esse vídeo do Akita, um cara com 30 anos de mercado, sobre o assunto: https://www.youtube.com/watch?v=p9-WuJbVHHc

Muito bacana o conteúdo @guilfer. Obrigado pelas dicas! :smile:

Olá caro amigo,

Eu ainda estou um passo atrás a você, comecei a trabalhar efetivamente com tecnologia 2 anos e ainda estou cursando a faculdade de Sistemas, e também tenho uma dúvida similar, mas a minha é "Qual linguagem escolher". Atualmente a empresa onde trabalho tem uma demanda para determinada linguagem, então, estou aprendendo está linguagem para entrar no mercado de trabalho.

No seu caso que já possuí conhecimento de duas linguagens e está ativo, não vejo problema de pausar um pouco os estudos em .NET/Angular e focar em nodeJs, acho que isso ajudaria a aumentar o seu arsenal e descobrir soluções onde se aplica no nodeJs no que você trabalha hoje.

Acredito que para aprender algo, temos que sacrificar alguma coisa também, no seu caso, tempo. Mais ainda você nunca irá voltar à estaca zero como profissional, só irá incluir em seu portfólio um conhecimento.

Obs: Como comentei não tenho vasta experiencia no mercado, mas essa é visão sobre o assunto.

enxergue essas stacks como ferramentas, cada uma tem sua especifidade, meu conselho é focar em se aprofundar em conceitos, TDD, DDD, CI CD, Clea Architecture, Clean Code, Programação orientada a eventos, microserviços entre outras

Augusto, você pode sim fazer perguntas e a sua foi uma ótima pergunta inclusive.

Nesse ponto, eu costumo separar o conhecimento em duas partes:

  1. A linguagem de programação
  2. A stack/contexto onde ela vai ser aplicada

Hoje eu programo 100% com JavaScript, usando React no frontend e Node.js no backend. Mas o curioso é que isso trata somente sobre a linguagem de programação, porque o contexto que é desenvolvimento web, 90% dele eu aprendi programando com outra linguagem, com PHP.

Foi quando eu programava com PHP que eu aprendi grande parte dos conhecimentos sobre desenvolvimento web e que hoje reaproveito para programar com JavaScript. Mudar de linguagem dentro do mesmo contexto não irá fazer os conhecimentos sobre aquele contexto irem embora ou começar do zero. A web, o protocolo http continua o mesmo.