La chimera del Full Stack Developer
Oggi molte aziende, ICT e non solo, sono alla ricerca di una figura di sviluppo completa, ossia che sappia padroneggiare sia tecnologie di frontend che di backend: questa figura è il Full Stack Developer. Essere quasi mitologico, spesso si hanno delle pretese eccessive nei suoi confronti e navigando su internet non manca di incappare in job description poco realistiche, contenenti un vasto elenco di competenze eterogenee che i candidati ideali dovrebbero parimenti padroneggiare.
Per fare chiarezza sul ruolo e le skill indispensabili, innanzitutto è importante capire chi è e cosa fa il full stack developer.
Si definisce full stack uno sviluppatore che è in grado di operare sia lato frontend che backend nello sviluppo di un’applicazione, ovvero sia sulla porzione con la quale interagirà l’utente finale sia su quella che le sta dietro e regola le logiche di funzionamento dell’applicazione stessa, le configurazioni del server e il database.
In questo senso sono molteplici i linguaggi e i framework che uno sviluppatore full stack potrebbe conoscere ed utilizzare, ma non è indispensabile che li conosca tutti. Sarebbe sufficiente che si concentrasse su alcune delle tecnologie principali e man mano, grazie all’esperienza sul campo, che continui ad aggiornarsi e imparandone di nuove in base alle necessità e alle richieste del mercato.
Quali sono le tecnologie indispensabili per uno sviluppatore full stack?
Indubbiamente le basi sono HTML e CSS, che permettono di costruire lo scheletro di una pagina web: l’HTML consente l’aggiunta dei contenuti mentre CSS la gestione della formattazione. Sempre secondo l’annuale Survey di Stack Overflow, JavaScript risulta essere il linguaggio di programmazione più diffuso, sia lato frontend che backend. Per questo è indispensabile che un full stack che si rispetti lo padroneggi. Sarebbe poi un ottimo punto extra la conoscenza di uno dei framework di sviluppo JS più popolari, come Angular o React.
Per quanto riguarda le tecnologie di backend, non è semplice definire quale sia la migliore da imparare: anche in questo caso è sempre più importante la comprensione delle logiche di sviluppo e creazione di database nonchè lo studio approfondito del linguaggio scelto. Tra le più diffuse tecnologie di backend tra cui scegliere ci sono certamente SQL, Java, Python e PHP. NodeJS è un’altra valida opzione aggiuntiva: essendo un ambiente di sviluppo JS non necessita della conoscenza di un nuovo linguaggio.
Non da ultimo importante è la conoscenza di database per immagazzinare dati: relazionali come SQL (che resta il più diffuso), non relazionali come MongoDB e le connessioni che intercorrono tra essi e il linguaggio di backend scelto.
Vista la complessità del ruolo e le molteplici competenze che lo sviluppo del full stack deve possedere, questa figura in termini di RAL è in media superiore rispetto a uno sviluppatore frontend o backend: a seconda del paese e del livello di esperienza ci sono variazioni piuttosto consistenti, ma in Italia, per una seniority di circa 3-5 anni si attesta sui 35.000/40.000 euro lordi.