Miti e leggende: Full Stack Developer

Oggi, spinto da un link su Facebook in un gruppo di sviluppatori, in cui si parlava della “inesistenza” del Full Stack Developer, ho deciso di dire la mia in merito, trovandomi quasi quotidianamente a confrontarmi con questo ed altri miti e leggende della programmazione (un giorno parleremo anche degli sviluppatori Front End Java).

Prima di addentrarci nella realtà della figura mitologica, dobbiamo capire com’è costituito il mondo che ci circonda. Farò una panoramica abbastanza breve, altrimenti rischio di diventare più prolisso del solito (come dicono i miei studenti, tendo a perdermi per strada).
- Server Admin / Devops
- Cloud
- Back End
- Database
- Front End
- Design
- Mobile
Se volete addentrarvi in una descrizione più dettagliata, vi rimando al blog di Gellert e più precisamente ad un articolo del 2008 (si, questa storia del Full Stack Developer è abbastanza vecchia).

Ecco, quell’elenco di 7 figure professionali diverse, in teoria, dovrebbe essere racchiusa da una unica figura, ovvero il nostro mito, il nostro Full Stack Developer (da ora in poi lo chiamerò FSD, perchè sono pigro)!!!
Per continuare il ragionamento, e dando per scontato che nessuno di noi si sogna di avere l’onniscienza e quindi la ragione assoluta, possiamo presupporre che una figura normale, per acquisire le competenze tali da renderlo autosufficiente su una determinata tecnologia, impieghi almeno 3 anni, tra studio e applicazione. Giusto? Si (stiamo ignorando, sbagliando consapevolmente, che per alcune tipologie di attività oltre alla conoscenza servono le cosiddette soft-skill, e mediamente i programmatori hanno un senso grafico che Dario Argento a confronto è un esteta del buongusto…). Facendo una moltiplicazione molto semplice, 7x3 fa 21, quindi una persona normale, dovrebbe impiegare circa 20 anni per acquisire delle competenze tali da essere autosufficiente su tutto lo Stack. Ma noi informatici siamo dotati mediamente di un QI maggiore della media, quindi dimezziamo questi tempi. 10 anni e siamo dei full-stack, figo no? Quindi diventare FSD è solo una questione di tempo? A livello teorico, la risposta è SI.

Però, appunto, fino ad ora ho fatto un ragionamento teorico. Ma penso che il mondo della teoria sia applicabile solo nelle accademie, mentre noi quotidianamente ci confrontiamo con problemi reali. Quindi, facciamo un passo avanti, e vediamo cosa succede nel mondo vero.
I nostri amici commerciali (quelli che cercano gli sviluppatori frontend java), quando cercano un FSD, cercano fondamentalmente un elemento che si occupi di:
- Back End
- Database
- Front End
che è uno numero di competenze completamente diverso, rispetto a prima. Purtroppo (o per fortuna) le prime due competenze sono molto vicine. Nel percorso di studi che abbiamo affrontato più o meno tutti, le competenze su DB e sullo sviluppo backend sono quasi alla pari. Quindi diciamo che, almeno su quello, possiamo soprassedere (in realtà sappiamo benissimo che non è così… ma vabbè). Il problema è quando si entra nel “fantastico mondo del frontend”. Qui dove le tecnologie, varianti, plugin, cazzi e mazzi vari sono davvero tanti, è davvero difficile districarsi, oltre che avere uno standard preciso e definito. Inoltre, il fatto che FE e BE siano completamente slegati, porta anche ad utilizzi di tecnologie differenti ed indipendenti che si differenziano tra progetti e progetti. Quindi, per mettere un punto a questa discussione, possiamo concludere che:
la figura del FSD è molto particolare. È praticamente impossibile da ricercare in figure junior o comunque con meno di 3 anni di esperienza. Figure con esperienza maggiore possono si essere FSD, ma su determinate e precise tecnologie, e molte volte su determinate e specifiche versioni. Ma soprattutto, le figure FSD non sono figure che andrebbero retribuite come un normale sviluppatori, non sostituiscono 2 sviluppatori in 1, ed in alcuni casi andrebbero solo affiancate a sviluppatori esistenti, e non in sostituzione. Detto ciò, spero di aver dato un contributo alla discussione e aver chiarito qualche punto oscuro. (Fate leggere questo articolo, se lo condividete, ai commerciali e alle HR delle vostre aziende)