TL;DR: dipende da te.
Risposta lunga:
Sono un back-end/devops developer e quindi la mia esperienza con front-end e' limitata in confronto magari ad uno che fa quella roba a tempo pieno.
Cmq se il tipo di lavoro ti piace, don't give up! Se ti interessa rimanere sul front-end personalmente ti direi di investire tempo in React e Vue. Il primo per la disponibilita' di lavoro (parlo in generale eh, non conosco la situazione italiana a dire il vero), il secondo perche' ho la sensazione che avra' un futuro moolto roseo se continua cosi' (Vue e' il mio preferito: e' molto semplice da usare, molto flessibile e potente). React Native poi ti aiuta ad entrare nel mondo del mobile development, che forse potrebbe interessarti. Faciilita'/quanto tempo ci vorrebbe per impararli davvero... dipende da te ovviamente. Non sono complicati, soprattutto Vue in pochissimo tempo puoi messere su anche una SPA completa, se vuoi. La parte back-end puo' richiedere molti anni a meno di realizzare apps piene di buchi e non ottimizzate etc.
Sulla scelta tra front-end e back-end davvero no saprei dirti, dipende da te. Personalmente sono come dicevo un back-end/devops developer ma so muovermi molto bene con parecchie cose in front-end, mi definirei un developer a 360 gradiE suggerirei a chiunque di fare lo stesso, perche' cosi' sei un developer "piu' completo". E' mia opinione che la linea che separa le due facce diventa sempre piu' sottile, e non ha senso un front-end developer che non sa interfacciare, per esempio, con una REST API oppure un back-end developer che non sa molto, per esempio, di sicurezza client-side. Comunque, la scelta tra le due dipende dal proprio gusto personale. Per quanto riguarda la mia esperienza, direi che il lato back-end presenta moooolte piu' cose da dover sapere bene dal punto di vista piu' tecnico, mentre il front-end si muove piu' velocemente perche' nuove librerie, frameworks etc escono fuori ogni giorno come funghi
Nei miei 18 anni di esperienza professionale (anche se programmavo etc da molto prima) ho sempre preferito il lavoro back-end. Lo trovo piu' stimolante in un certo senso e piu' "tecnico", specialmente da quando mi occupo anche di devops. Sviluppare web apps e services, avere a che fare con cloud di migliaia di server, scalability, datastores, distributed computing, sicurezza, etc etc per me' e' molto piu' interessante.
Il mio suggerimento e' quello di specializzarti ma non troppo, se intendi quello che voglio dire... se sai mettere mano su diverse cose anche per quanto riguarda il lavoro sei predisposto molto meglio.
Sui linguaggi/frameworks, mi limito a dire la mia sul server-side. Ovviamente potresti andare con i soliti PHP & co, .NET, Java.... oppure se il mercato del lavoro da te te lo permette, io andrei con Ruby (e Ruby on Rails) e/oppure Elixir (con Phoenix) o anche Erlang se aspiri a lavorare con sistemi molto grandi, complessi e che con cui non ci si puo' praticamente permettere downtime. Questi sono gli strumenti con cui lavoro e che amo![]()