Je pense qu'il vaut mieux savoir jouer de tous les instruments plutôt que d'en choisir qu'un seul et se voir limiter des opportunités.
Pour être dans le milieu, je peux te dire qu'être "expert" (c'est à dire savoir faire un hello world en langage marketing) dans une techno ne veut rien dire et qu'en plus ne pas avoir plusieurs cordes à son arc va vite te ralentir dans les boulots que t'auras. Je suis dans une petite ESN et en interne on fait du Node.JS, chez le client on fait du Java. Les deux ont des avantages et des inconvénients.
Oui Node.JS tu seras davantage en full-stack qu'en back (mais bon tu seras mieux payé car plus de périmètre), d'ailleurs pour ma mission actuelle je devais être full-stack et j'ai fait majoritairement du front, et petit à petit on me refile le back à continuer, back qui se fait en spring et dont j'ai du mal à apprécier (mais c'est plus une certaine méprise de Java et son écosystème "usine à gaz", autrement les annotations etc. sont chouettes)
Mais pour le coup Node.JS ça fait 10 ans qu'il existe, et les entreprises ont commencés bien avant, mais ça reste un environnement particulier qui sert plus de concurrent à python qu'autre chose (je dis pas qu'il fait mal le rôle de serveur web etc. je dis juste qu'il ne se limite pas qu'à ça)
En soi je ne peux te donner qu'un seul conseil : Ne te limite pas à un seul choix et embrasse plusieurs langages. Pas tous les langages du monde mais juste deux trois langages qui te permettront de couvrir un maximum de problèmes en entreprise.
Et attention, les grandes entreprises ont des architectures bien plus pourries que tu ne le crois, mettre du Spring ou du Node.JS c'est un peu mettre du papier peint sur un mur cassé.
Message édité le 03 août 2019 à 20:52:24 par Tacha-tepoilu