Dietro le quinte del web: gli sviluppatori.

Quella dello sviluppatore è una delle professioni più richieste in assoluto nel settore digital.

Il termine “sviluppatore”, tuttavia, è ormai diventato molto generico, in quanto sotto questa dicitura coesistono in realtà compiti e funzioni ben diverse. I developer, infatti, solitamente si specializzano in determinati linguaggi di programmazione e attività, che hanno lo scopo di creare e gestire differenti aspetti di una piattaforma web.

Si possono identificare in particolare tre tipologie di sviluppatori: Front-end developer, Back-end developer e Full-stack developer. Che cosa differenzia queste tre figure? Vediamo di scoprirne di più.

Front-end developer: competenze e compiti

Questo professionista si occupa della parte front-end di un sito Internet, ossia la parte visibile dagli utenti e quella con cui essi interagiscono. Per creare le pagine web, un Front-end developer utilizza essenzialmente tre linguaggi di programmazione: HTML (per creare la struttura e il contenuto), CSS (per dotare la pagina di colori, stile, font e immagini di sfondo) e JavaScript per dare alla pagina maggiore dinamicità e possibilità d’interazione. Di solito un Front-end developer ha competenze anche di user experience, fondamentale per fornire all’utente un’esperienza d’uso del sito semplice e intuitiva.

Cosa fa un back-end developer?

Back-end developer: sono gli uomini e le donne dietro le quinte, quelli che fanno il lavoro sporco. In una squadra di rugby giocherebbero sicuramente in mischia, sotto a prender (e a tirare) botte e a macinare metri. Ma sono anche quelli con le mani buone. Perché ci vuole una certa eleganza, una certa tecnica per scrivere bene, soprattutto quando si tratta di una prosa composta da stringhe di codice e non da semplici parole.

Jacopo: “Il mio lavoro come sviluppatore back-end coinvolge diverse aree dell’informatica. Non è solo sviluppo puro ma anche attenzione all’architettura, utilizzo di database e di sistemi operativi. Mi occupo poi del deployment (dell’installazione e messa in servizio) delle applicazioni e del loro monitoraggio. È un lavoro abbastanza poliedrico dal punto di vista tecnico.”

Marco: “Sono uno sviluppatore software, in particolare mi occupo del back-end, quindi di tutto quello che c’è dietro le quinte del software e che non ha un impatto visivo diretto con l’utente finale. Si tratta di integrare servizi di terze parti, di elaborare dati, immagazzinarli, impacchettarli e poi fornirli nel miglior modo possibile al front-end, lo sviluppatore che si occuperà in seguito di presentarli all’utente sotto forma di interfacce grafiche intuitive e funzionali.”

Jacopo: “Ciò che conta è l’esperienza: più software si scrive, più tipi di strumenti si utilizzano e più si diventa bravi ed efficienti e si evitano gli errori più comuni. Studiando – nel mio caso all’università, che forse è la strada più semplice, più diretta, ma certamente non l’unico percorso formativo che si può intraprendere– ho anche una base teorica che mi permette di andare quasi a colpo sicuro sui problemi già noti e affrontati dall’ingegneria. Questo però, lo ripeto, lo considero un valore aggiunto, non una condizione necessaria, men che meno sufficiente.”

Marco: “È un lavoro creativo, perché trovare una soluzione a un problema, sempre nuovo, sempre diverso, implica creatività. Alla fine si tratta di scrivere una storia, un racconto utilizzando un particolare tipo di linguaggio: che ha la sua sintassi, il suo lessico, la sua grammatica. E se scrivere è una professione creativa, allora non vedo perché non possa esserlo anche programmare. Loro (gli scrittori) scrivono libri, noi scriviamo codici.”

Full-stack developer: di che cosa si occupa

Veniamo infine alla figura del Full-stack developer, che può essere inteso come uno sviluppatore con competenze sia lato front-end, sia lato back-end. Solitamente uno sviluppatore full-stack ha infatti familiarità sia con i linguaggi HTML, CSS e JavaScript, sia con PHP, Python e gli altri linguaggi di scripting utilizzati per progettare e far funzionare un software, fatto che lo rende in grado di intervenire su diversi aspetti di un sito. È difficile, comunque, che questo professionista si trovi a sviluppare e gestire un sito web completamente da solo: spesso, invece, collabora con Front-end e Back-end developer e tende a concentrarsi su un solo aspetto; anzi, è piuttosto raro trovare figure di full stack “pure”, perché è molto difficile che un solo profilo sia esperto sia di front che di back-end.

E i DevOps?

Innanzitutto la parola è il risultato della fusione tramite contrazione di due termini, development e operations, ed è nata più o meno tre anni fa. Questo può in parte aiutarci a capire il significato di questo approccio, che riguarda sia la figura professionale dello sviluppatore che quella del sistemista, e precisamente tenta di creare dei legami tra queste due personalità, proponendo forme di collaborazione più avanzata e metodologie di sviluppo che evitino il più possibile frizioni tra i due ruoli.

Uno dei modelli di riferimento del DevOPS è il cosiddetto CALMSS, acronimo di Culture, Automation, Lean, Management and Measurement, Sharing and Sourcing. Ed è proprio questo a definire cosa è il DevOps. Il DevOps, infatti, è un set di pratiche e di cambiamenti culturali supportati da strumenti automatici e processi di Lean Management, che consente di automatizzare il rilascio del software rispetto alla sua catena di produzione, permettendo alle organizzazioni di poter contare su un software e applicazioni di qualità superiore e sicura in modo estremamente più rapido, per accontentare i clienti nel modo migliore e più rapidamente.

 

Fonti e approfondimenti: