Domínio de frontend
Domínio de backend (incluindo bancos de dados)
Eu sugiro não começar querendo dominar os dois.
Escolha um para começar.
Ex: frontend com React. Se especialize. Em paralelo aprende o básico de como construir uma API rest com expressjs.
Dps que vc for realmente bom no front com react, vc vai se aprofundar mais no back.
Querer tornar-se Fullstack é um alto risco de se tornar o famoso pato. Anda, nada, voa, mas não é bom em nenhum dos 3.
O meu caso foi:
Comecei como backend, fiquei realmente bom. Aí, por curiosidade, fui criar meu próprio App, então precisava aprender frontend e fui ficando bom também. Não foi planejado, só aconteceu.
Tem muita gente que se diz Fullstack tmb por dominar o front e ser capaz de construir uma API Rest com expressJS, mas não domina de fato o backend. Isso para mim é apenas ter noção do outro lado da moeda, que é obrigação para um Senior. Se um frontend Senior encara como mágica chamar uma função passando uma URL e receber um JSON, ele não tem como conversar com o dev backend nada além de "teria como retornar tal campo no json também?".
Eu vejo muito frontend "senior" com 0 noção de backend e acho isso ruim.
E o mesmo vale para o contrário. Se eu não faço ideia de como se desenvolve frontend, eu não consigo pensar no meu colega e devolver para ele uma resposta na API que facilita a vida dele, que possibilidade uma boa UX, etc.
Porém para se chamar Fullstack, na minha opinião vc tem que responder sim para as duas perguntas abaixo:
- Faz sentido eu ser contratado para uma vaga puramente frontend?
- Faz sentido eu ser contratado para uma vaga puramente backend?
Eu por exemplo consigo subir microserviços com docker e kubernetes na AWS e até configurar uma pipeline de CI/CD.
É importante ter essa noção para conseguir conversar com o DevOps do time, criticar o que está ruim, solicitar melhorias na esteira e no ambiente, etc. Saber o que dá e o que é complexo de fazer.
Mas eu nunca ocuparia uma vaga de DevOps com minhas skills de hoje, pq não sou especialista nisso.
Se o cenário fugir um pouquinho do básico, posso me enrolar todo, não entregar, atrasar, etc.