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

Experiência em migrar de Linguagem/Stack

Me desculpem os amentes do PHP, mas se tem uma coisa que eu me arrependo, foi ter começado minha carreira com essa linguagem hahaha.
Eu tô tentando migrar de stack pra Node.js, mas só porque eu tive sorte de em cair um alguns projetos em Node e, por consequência, colocar no meu currículo.
Mas eu tbm tenho interesse em C# ou Golang por exemplo.
Meu receio é seguinte: Já ter 7 anos de experiência numa linguagem, e ao migrar, ser tratado com Júnior. Algum de vocês já lidou com isso?

Carregando publicação patrocinada...
2

Seu post há um mês:

"Eu sinto que sou um Pleno indo para Sênior. Ainda me falta alguns conceitos de arquitetura, system design, aws e outros temas envolvendo sistemas escaláveis.
Fui aprovado em duas vagas:
BR 12K CLT Híbrido 2x
Gringa 5k USD (Wordpress)
Por motivos óbvios escolhi a gringa, mas durante a entrevista BR, eu tive a impressão que eu iria aprender muito mais na vaga BR, enquanto na gringa eu iria apenas usar Wordpress. Me pergunto se não deveria dar "um passo para trás, para dar dois para frente". Eu acho que poderia aprender muito mais na BR, crescer profissionalmente muito mais. Principalmente que desenvolver sistemas escaláveis, é algo muito difícil de se aprender só na teoria. O que acham disso?"

Será que o problema está no PHP, ou em qualquer outra linguagem? Sinceramente, não é a sua stack que define se é um bom programador ou mediano, eu agradeço todos os dias por ter iniciado pelo PHP, não mordo a mão que me alimentou.

1

Não existe isso. Se você tem 7 anos de experiência em desenvolvimento de software, especialmente em algum domínio específico, você é provavelmente um pleno ou sênior. Mesmo não tendo tanto contato com a stack nova.
PHP e Node pra mim são bem próximas, ambas de script. Se fosse Python também.

Já C# ou Go tem diferenças maiores, mas nada de mais. O mesmo valeria pra Java nesse caso.

Se fosse migrar pra C, Haskell, Rust, aí seria possível considerar Júnior nelas, por serem conceitos bem diferentes.

Na verdade, considerando que você deve fazer web, continuando nesse tipo de software você não vai precisar aprender nada novo, só a sintaxe nova e em alguns casos, a forma de fazer algo.

Mas se fosse mudar pra Desktop, Mobile, Dados, Games ou Embarcados, aí sim seria muita diferença.

1

Cara, senhoridade tem relação com experiência e não ferramenta.

Linguagem de programação/frameworks são tudo ferramenta. No início, é meio q óbvio q vc irá se sentir ruim, afinal é algo novo q vc está vendo, coisa q vc nunca pegou pra entender como funciona. Mas não é isso q te limitará a ser considerado júnior ou não e sim qual é seu conhecimento em relação ao fullstack/backend.

Se vc sabe como criar um servidor horizontal, se vc sabe criar um servidor vertical, se vc sabe aplicar cache ali no meio do sistema, se e qqr outra coisa q normalmente um pleno/sênior deve saber nessa área (fui bem simplista pq sou mobile, não entendo mto de backend, eheheh).

Se vc sabe desses conceitos, ao aprender uma linguagem/framework novo, vc sabe o que estudar, afinal vc só estará trocando de ferramenta. É como se antes vc usava chave de fenda para apertar um parafuso, hj vc estará usando uma parafusadeira automática pra fazer o msm serviço.

Então o q contará mais pra dizer se vc será tratado como júnior (além do q disse acima) é a sua capacidade em aprender a lidar com o node. Se vc demorar demais pra evoluir nessa linguagem, é óbvio q vc será considerado incompetente, afinal eles esperam q vc tem a msm desenvoltura de aprender uma coisa nova, pois vc já sabe o conceito, só precisa entender como traduzir aquilo em uma nova linguagem/framework.

Agora se vc estivesse trocando de área diferentes, ai poderia ser diferente msm, vc simplesmente seria considerado como júnior, pois vc não tem conhecimento como desenvolver aquilo. Por exemplo, vc sair do backend e ir pra desenvolvimento de jogos. Desconsiderando a parte de infra do backend, os conceitos pra desenvolvimento jogo é mtooooo diferente de construir um backend. Vc teria q aprender mais a lidar com POO, precisaria aprender a lidar com imagens, shaders, 3D, sons, arquitetura voltada pra jogos, entender game loop, comunicação e gerenciamento de jogos multiplayer e qqr outra coisa q vc raramente vc utiliza em backend. E isso não aprende da noite pro dia.

Eu falo isso pq eu mudei de stack, então consegui entender melhor esses pontos. Eu no início trabalhei com fullstack, mas nunca me dei bem na parte web, uma por imaturidade, outra pq não gostava msm de trampar com isso. Ai sai da programação e depois q voltei por motivos óbvios q não dá pra viver de fotossíntese no BR, então voltei pra algo q já estava querendo ir, q foi o mobile, mas preferencialmente na parte visual (eu gosto mais de construir telas). Ai foi onde deu certo pra mim. Eu no começo me considerei júnior qndo procurava por vagas, mas eu arrisquei em umas vagas pleno, pois eu usei toda minha experiência anterior q tinha para aprender mais sobre o mundo mobile em pouco tempo (boa parte entre web e mobile são parecidos), e foi onde consegui uma vaga de pleno. Hj já me considero sênior msm com salário de pleno... hahaha, mas não ligo, pois tenho mta liberdade de decisão e flexibilidade do trabalho.
Porém tbm nesse tempo livre, estou aprendendo a fazer jogo, e é onde falo pq é difícil mudar de stack. Se tivesse tentando entrar nessa área, eu seria júnior hj, afinal tem mtos conhecimentos sobre desenvolver um jogo q não tenho experiência de desenvolver e isso faz eu não conseguir ser um pleno/sênior, pois se trata de conhecimentos diferentes.

Ah, só um extra q pode ser meio controverso, pois isso é tbm parte de minha opinião. Não significa pq vc trabalhou 5, 10, 15 anos em uma linguagem q vc é capaz de desenvolver algo. Tem gente q passa anos fazendo a msm coisa, mas não tem capacidade de construir um sistema igual do zero. Entender uma ferramenta com o tempo é fácil, pois vc sempre estará fazendo qse msm coisa todo dia, agora entender conceitos sobre o q aquela ferramenta possibilita construir é outra coisa, pois exige estudo e experiência e nem todos devs tem essa capacidade de ser auto-didata para aprender coisas novas. Sei disso pq já fui assim qndo era fullstack. 2 anos e meio e nunca sai do nível júnior, obviamente imaturidade minha na época.

1

ao migrar, ser tratado com Júnior. Algum de vocês já lidou com isso?

Eu lido com a 'prova do conquistador'. Que é o que há no fim da trilha que se inicia com a 'sorte de principiante'.

Eu já sei mais ou menos o alcance do meu trabalho então experimentar é algo que faço com planejamento. Eu me tornei mais autoconfiante porque mantenho minhas ferramentas afiadas. Eu não sinto tanta necessidade de experimentar as novas ferramentas.

1

Opinião pessoal

Eu tô tentando migrar de stack pra Node.js

Não troque gato por lebre. Se você não gosta de PHP no node vai ter problemas parecidos.

Mas eu tbm tenho interesse em C# ou Golang por exemplo.

Recente comecei estudar muito C# e estou achando fantástica, fica aqui minha recomendação

Meu receio é seguinte: Já ter 7 anos de experiência numa linguagem, e ao migrar, ser tratado com Júnior. Algum de vocês já lidou com isso?

A questão é: Quando fazer a aplicação para a nova vaga vai saber resolver problemas de pleno/sênior?

A linguagem não é tão importante quanto você mostrar a sua capacidade com ela.

Vão ter portas fechadas por causa disso? vão! Você vai ter que provar seu valor