Non Solo Codice: Il Lavoro del Software Developer a 360°

Tutto nel mondo di oggi ruota attorno alla tecnologia: il Bureau of Labor Statistics (BLS) prevede che nel 2026 il lavoro per i developer aumenterà del 24% negli States e il tasso di crescita dell’occupazione già oggi è oltre tre volte più veloce della media nazionale degli altri lavori.

Questo spiega perché gli sviluppatori del software sono un “prodotto” caldo e perché di loro si parla così spesso. Nonostante ciò, o forse proprio per questo, la figura del developer resta un pò nebulosa, se ne intuisce l’importanza ma non se ne comprendono bene i dettagli e le sfumature. Capita spesso, infatti, che dopo aver detto di essere sviluppatore, mi osservino tutti con una certa curiosità, neanche fossi uno studente di Hogwarts. La cosa è davvero divertente, anche incoraggiante ad essere sincero. Ma ho comunque pensato di fare chiarezza e spiegarvi chi è e cosa fa uno sviluppatore. Buona lettura!

Chi è davvero il developer?

Intanto partiamo dall’inizio: il developer (cioè lo sviluppatore, ora sai che sono la stessa figura) è chi crea un software partendo da zero, cioè prendendo in carico le fasi del ciclo di vita del progetto e seguendolo nella sua interezza.

developer

Chi è e cosa fa un software developer?

Volendo fare un esempio abbastanza immediato sul carattere di noi sviluppatori, direi che siamo quelli che si entusiasmano davanti ad una scatola di centinaia di piccoli, minuscoli tasselli di puzzle a cui dare una forma. Uno sviluppatore è quello che, in situazioni come queste, non sente il desiderio di fuggire a gambe levate, è quello che resta, a cui si illuminano gli occhi, quello che passerà ore ed ore a finire quel puzzle. Giorno e notte, se è necessario.
In progetti di piccole/medie dimensioni (con un numero significativo ma non esorbitante di tasselli del puzzle), potrebbe esserci un singolo sviluppatore che segue l’intero ciclo, in quelli di grandi dimensioni (tanti, infiniti pezzettini del puzzle) anche più di uno.
Non tutti ci dipingono così, ma noi siamo a tutti gli effetti dei creativi. Ci piace risolvere i rompicapo in maniera intelligente e sempre nuova e su questa attività investiamo una quantità di entusiasmo davvero fuori dal comune.
Come scoprirete leggendo, non bisogna solo saper scrivere codice: in questo lavoro le doti di analisi e progettazione sono tutto. Queste qualità si acquisiscono col tempo e con lo studio ma, come in ogni altro lavoro, a monte deve esserci tanta passione.

Cosa fa esattamente un software developer?

Il termine software unisce il termine soft, ovvero morbido, e il termine ware, che significa componente. In pratica, indica i vari programmi che contengono una sequenza di istruzioni messe insieme per svolgere un determinato compito, che nella maggior parte dei casi è quello di migliorare le funzionalità di un hardware, cioè di uno smartphone, un PC, un macchinario, un orologio etc. Un’app, ad esempio, integra le funzionalità del tuo smartphone per migliorare la tua esperienza d’acquisto, gestire la tua produttività, la forza vendita ma anche tenere traccia della tua salute o misurare le prestazioni fisiche.

Per approfondire, leggi www.airbagstudio.it/cosa-sono-le-app

Qualsiasi programma che usi in azienda per la contabilità o la gestione delle scorte in magazzino o il gioco con cui ti rilassi nel tempo libero hanno un comune denominatore: a crearli – tutti e sempre- sono sviluppatori.
developerIl processo di creazione di qualsiasi programma include sempre queste 4 fasi:

  • analisi → momento importantissimo in cui parliamo con l’azienda cliente e identifichiamo la loro esigenza.
  • progettazione → la fase più delicata in assoluto, quella in cui un bravo developer si confronta con il suo team e inizia a ragionare sulla struttura da mettere in piedi. Si tratta di una fase che resta potenzialmente aperta durante tutto il progetto. E’ fisiologico che ogni progetto sia flessibile (che non significa in balia del vento).
  • sviluppo → si inizia a scrivere codice. Ma cos’è il codice? Il codice è la lista di “istruzioni” in un linguaggio interpretabile dal dispositivo. Nonostante sia fra le prime cose insegnate a chi si avvicina a questo mondo, nella realtà dei fatti, la fase di scrittura avviene a valle del ciclo del progetto, cioè solo dopo aver chiuso tutte le lunghe e delicate fasi precedenti.
  • testing e risoluzione dei problemi→ la fase in cui si prova se tutto funziona correttamente e si “aggiusta” quello che non va.

Ti starai chiedendo, giustamente, dove risieda quella parte creativa di cui ti parlavo all’inizio. Ci vuole un altro esempio per capirlo: immaginiamo che ad un ipotetico concorrente di Masterchef venga chiesto di ideare una torta per bambini che abbia necessariamente panna e cioccolato.
Il developer -che è il nostro chef- deve, a questo punto, elaborare una ricetta che soddisfi i clienti sia dal punto di vista del gusto che dell’estetica. Per far fronte a quest’ultimo aspetto, sarà aiutato da un esperto che gli proporrà un’immagine con l’aspetto finale della torta. Questa immagine, nel nostro caso, equivale al lavoro del designer che insieme ai clienti elabora la resa estetica più adeguata per quel prodotto.

Per approfondire il lavoro del designer, leggi www.airbagstudio.it/app-user-experience-i-5-errori/

Il nostro chef, però, a parte l’immagine dell’esperto, non avrà alcuna indicazione sugli ingredienti o la ricetta da seguire per preparare quel dolce. Dovrà dare libero sfogo alla sua creatività, confrontarsi con il suo team, creare una ricetta e infine mettersi a lavoro per arrivare al risultato della foto, ovviamente senza dimenticare panna e cioccolato.
developerAnche se sembra molto semplice, questa prova riserva spesso delle sorprese: gli ingredienti nel nostro frigo non sono tutti o non sono freschi come vorremmo, inoltre abbiamo saputo che alcuni bambini hanno delle intolleranze e che dobbiamo ricorrere a prodotti specifici che però siano buoni e sicuri proprio come quelli più comuni. La situazione si complica, ed è qui che il nostro chef dà il meglio di sé. La messa a punto di questo dolce diventa un eccitante rompicapo fatto di tentativi, esperimenti, nuovi acquisti, consultazioni con i bambini, insomma il nostro chef….CREA!
Ma a differenza di una torta che, una volta uscita dal forno, non può più essere modificata, il software è qualcosa di estremamente flessibile e modificabile, qualcosa su cui il developer può rimettere le mani di continuo. Ma attenzione, tutto dipende dalla fase di progettazione: anche se può sembrare un paradosso, solo una struttura solida e ben progettata (fin dall’inizio) assicura al programma la necessaria flessibilità per la gestione di ogni successiva evoluzione!

Qui in Airbag Studio i developer sono 8, io sono il CTO e, oltre a programmare, seguo e coordino i team di progetto nelle scelte tecniche. E’ un lavoro che amo e che mi diverte perché, come avrete capito, non ci si annoia mai!