Diventare sviluppatori web

Una risposta sincera ad una ormai classica domanda.

Come si diventa sviluppatori web? Questa domanda mi è stata rivolta in ogni occasione, sia sul web che nei seminari. Parliamo del mio caso. Nel 2004 ho iniziato ad occuparmi di programmazione. Fino ad allora usavo il computer per scrivere testi. Non avevo nessuna preparazione specifica.

Ho cominciato con HTML, CSS, C++ e Java. Poi è venuto JavaScript. Più tardi PHP e tutto il resto del mio know-how. La programmazione vera e propria l'ho imparata da Java e JavaScript (costrutti, asserzioni, variabili eccetera) e all'inizio facevo fatica perché il mio background iniziale era umanistico (lingue e letterature straniere).

Quello che mi ha permesso di progredire è stata la pratica, supportata dallo studio di numerosi libri (più di 50). Studiavo un argomento e facevo dei test, studiavo un altro argomento e facevo altri test. E così via.

Fino al 2008 lo sviluppo web rimase una passione. Poi cominciai a realizzare dei progetti, a crearmi un giro di clienti, a farmi conoscere tramite i miei siti. Il tutto condensato in 5 anni di intenso lavoro.

Quindi alla domanda "quanto tempo ci vuole per prepararsi?" rispondo che ci vogliono alcuni anni. Non è pensabile che uno studente in un solo anno dopo la laurea acquisisca tutto il bagaglio di conoscenze necessario per gestire progetti complessi.

E una laurea specifica aiuta molto, perché evita di perdere tempo partendo sempre dalle nozioni più elementari. Alcune persone dicono: "Ma a cosa serve imparare il C se poi devo sviluppare siti web?". Serve come linguaggio per imparare i fondamenti della programmazione che sono comuni a tutti i linguaggi.

Non sottovalutate gli insegnamenti dei corsi universitari: lo scopo finale è quello di costruire l'edificio del vostro know-how partendo dalle fondamenta. Troppo teorici? Affatto. Tenete presente che tutto quello che si studia all'università lo ritroverete in varie forme in tutti i progetti che affronterete, anche se a prima vista non ve ne renderete conto.

Per esempio se studiate gli algoritmi e le strutture di dati sarete avvantaggiati nel vostro lavoro perché spesso riuscirete a risolvere un problema semplicemente ricordandovi quelle nozioni che voi all'epoca giudicavate troppo astratte (pensate agli array).

Al contrario, io ho imparato la teoria dalla pratica, ossia seguendo il percorso inverso. Il risultato non è esattamente lo stesso: quando ad esempio ho studiato i testi universitari mi sono trovato di fronte a qualcosa che non riuscivo a capire subito perché mi mancava una dimostrazione pratica.

Tutti i libri sullo sviluppo web seguono l'approccio pratica-teoria e non teoria-teoria. Sono completamente diversi dai testi universitari perché il loro scopo è quello di dare soluzioni a problemi estremamente concreti.

Ma la teoria è sempre li: se leggete il capitolo sul sorting delle tabelle con jQuery in "Learning jQuery" vedrete che si parla di algoritmi. Ricordate? Algoritmi e strutture di dati.

Una laurea aiuta anche ad inserirsi nei quadri lavorativi di aziende importanti. Se date uno sguardo alle offerte di lavoro di Twitter noterete che per tutte le posizioni è richiesta come minimo una laurea in ingegneria informatica, informatica o equivalente.

Il mito secondo cui solo in Italia serve una laurea è falso: all'estero una laurea non è necessaria se il vostro ruolo non è di primo piano, ma se c'è da svolgere compiti importanti (come il frontend engineering) allora le aziende la richiedono perché così facendo ci si assicura una solida base da cui partire. Immaginatevi cosa succederebbe se nel team di Twitter si dovesse perdere del tempo a rispiegare concetti basilari.

Accanto a questo c'è il duro lavoro di fare test su test per padroneggiare un argomento. Copia e incolla? Non serve, perché alla lunga le lacune nella preparazione saltano fuori ed il prezzo da pagare sarà altissimo.

Anche se ai clienti non interessano i dettagli tecnici di un progetto web, contare solo sulle proprie forze è un modo sicuro per poter crescere professionalmente. Trovate una soluzione pronta sul web? State sicuri che solo poche volte basterà incollarla nel vostro codice. In tutti gli altri casi dovrete studiarla, capirla e riadattarla. E qui si ritorna al vostro know-how.

Diventerete sviluppatori web il giorno in cui riuscirete a padroneggiare un progetto complesso da soli. Professionista non significa solo fatturare: significa serietà, competenza, skills, preparazione, capacità di risolvere problemi.

Ma non dovete avere fretta: bisogna arrivarci ben preparati.