Nell’epoca in cui viviamo, tra app, smartphone e altri gadget tecnologici dei più svariati tipi, uno dei protagonisti è il programmatore.
Ma chi è e, soprattutto, cosa fa il programmatore? Quando viene chiesto, nessuno sa dare una risposta. Nemmeno il programmatore. Ma che mestiere è quello del programmatore? Quel che è certo è che non risale né all’età della pietra e nemmeno della ruota, men che meno di epoca egizia.
In effetti quello che scrive il programmatore non si discosta di molto dai geroglifici e nemmeno dalle pitture rupestri di Altamira e Lascaux, in certi casi e non in tutti per fortuna o quasi; si potrebbe dire che il programmatore è uno “scrittore”.
Ogni scrittore ha una sua regola per scrivere; la regola del programmatore numero 1 è questa:
“Non basta che il tuo codice funzioni. Prima di tutto conta che sia facile da leggere e riparare”
Quindi un programmatore deve seguire una sintassi e una logica, con una dose di creatività, quella che serve per essere risolutori. Infatti il programmatore deve avere l’attitudine al “problem solving” e di “problem” da risolvere ce ne sono anche dove non ce ne sono. E se non ci sono, si creano!!
Metti che ti arrivi un documento alto un centinaio di pagine in cui leggi:
“La funzionalità dell’assistenza deve essere riproposta all’interno di ogni servizio offerto dal portale”
Chiaro, no? Certo, magari mettere un solo riferimento all’assistenza nella pagina principale del portale, indicando il servizio per cui si richiede supporto sarebbe stato più semplice.
No, è meglio replicare la stessa cosa tante volte, è più originale.
Per soddisfare quanto richiesto dal documento lavori mesi, insieme agli altri sviluppi che si collegano a questa “specifica” (altra parola magica del mestiere, la specifica, che dovrebbe essere un’indicazione di cosa deve fare il programma ma che diventa esattamente il contrario, il caos!).
Ad una settimana dalla presentazione, arriva la mail del PM (Project Manager):
“Avevi ragione tu, l’assistenza deve essere una sola, non serve averne una per servizio.”
Nel momento in cui leggi la comunicazione, scendono i santi e sale quell’istinto per cui la distanza da Project Manager a Pubblico Ministero si riduce di molto. Il risultato finale sono le ore passate a rivedere l’intero progetto in poco tempo, rinunciando ai weekend e senza avere il tempo di verificare che tutto rimanga funzionante come prima.
La presentazione ufficiale con il cliente è una sorpresa, tanto che alla fine l’unica soluzione è accendere un cero sempre che i santi non siano già scesi tutti.
Il programmatore è coadiuvato dalle 2 figure sopracitate, il project manager che coordina i vari progetti ed il consulente che, in collegamento diretto con il cliente e in sinergia con il programmatore, raccoglie le specifiche, ovvero la funzionalità che il cliente si aspetta di vedere e che devono semplificare e velocizzare lo svolgimento della sua attività.
Il consulente è un commerciale, quindi per chiudere il contratto deve consigliare il cliente in modo da raggiungere la giusta armonia tra quanto richiesto e quanto fa lo strumento da vendere e cosa può fare.
Appunto, cosa può fare; in molti casi, infatti, capita che chi va dal cliente raccoglie le richieste e alla fatidica domanda:
“Si può fare?”
Il consulente strappa il sorrisone come a dire “E’ una domanda da fare questa” e il contratto viene firmato.
In sinergia con il programmatore, il consulente va dal programmatore e con il contratto fresco di firma domanda:
“Si può fare?”
La risposta del programmatore è sempre la stessa, colorita di invocazioni che hanno a che fare con il sacro colorita di sfumature eretiche, e la cui inesorabile conclusione è “Si deve fare!”.
Il programmatore non è onnisciente, ha bisogno di un supporto (psicologico) per portare a compimento anche l’impossibile; quando anche il muro è stato eroso dalle craniate, si rivolge all’assistenza (e a chi altrimenti?) con una mail dove formula la propria richiesta riportando per filo e per segno quanto serve.
Con molta tempestività, da 1 giorno a 3 di attesa e verso l’infinito ed oltre, la tua richiesta viene presa in carico e, dopo altrettanti giorni, la risposta che ricevi è la seguente:
“Consulta la documentazione presente nell’help in linea.”
Nella migliore delle ipotesi potresti avere già risolto come ti metti alla ricerca di un altro muro ancora intatto su cui percuotere ripetutamente il proprio capo fino ad erodere l’ultimo mattone ancora intatto.
La parolina magica più importante di tutte è: tempistiche.
Non basta capire cosa c’è da fare, ammesso che persino il cliente sappia cosa vuole ed è una situazione assai frequente; bisogna dire subito in quanto tempo si deve fare quello che ancora nessuno ha capito cosa deve essere fatto. “In 6 mesi è fattibile”, salvo che il periodo effettivo di rilascio tra sviluppo, test e rimbalzo stile tra test e sviluppo stile tennis da tavolo elettronico oscilla tra i 12 e i 18 mesi (ma in 6 mesi ce la facciamo!!).
Il mestiere del programmatore ha comunque dei pro: infatti non serve essere in ufficio, si può lavorare in qualsiasi parte del mondo, anche seduto su una sdraio a sorseggiare un paio di Mojito producendo codice creativo. Siccome il programmatore non è così fortunato, si deve accontentare di poter lavorare da casa, fatto salvo che se da una parte può privilegiarsi del silenzio (dipende dai vicini), dall’altra deve fare i conti con i re magi per tutte le stagioni; luce, acqua e gas.
La vita del programmatore è molto attiva e ricca di imprevisti, non si annoia mai.
Tra una peripezia e l’altra, un quesito ancora è rimasto senza risposta:
ma, alla fine, cosa fa il programmatore? Porta pazienza!
