Automatizzare “con ossessione” non solo per velocizzare alcune operazioni ripetitive ma per eliminare l’errore umano: questa una delle sfide quotidiane di uno sviluppatore in ambito Cloud.
“Automazione deve diventare ossessione”. Il motto di Giovanni Toraldo, developer senior esperto di piattaforme Cloud è questo.
“Uno sviluppatore dovrebbe avere questa irrinunciabile attitudine ad automatizzare quanto possibile, non solo per velocizzare alcune operazioni ripetitive, ma soprattutto per evitare che una persona possa fare errori mentre le svolge”.
Giovanni Toraldo, da pochi mesi in Engineering D.HUB, è tra i fondatori della startup che ha dato vita alla piattaforma Cloudesire, tramite la quale è possibile fruire di servizi “as a service”, gestendo l’intero flusso di fatturazione, pagamento e incasso, e mettendo in contatto aziende e grandi Service Provider che possono offrire servizi in Cloud.
In cosa consiste il lavoro che svolgi quotidianamente?
“Io sono uno sviluppatore software e sistemista Linux e, oltre a occuparmi di attività di sviluppo della piattaforma, faccio la parte un po’ del product owner e anche da ponte tra settore commerciale e sviluppatori. Diciamo che gran parte del mio tempo è dedicato alla ricerca di soluzioni efficaci, necessarie a migliorare la piattaforma. Settimanalmente mi occupo anche della pianificazione delle attività di sviluppo a seconda delle necessità registrate nel breve periodo. Nel team di sviluppo siamo in quattro: lavoriamo insieme da molto tempo e c’è grande complicità tra noi.”
Come lavora un software developer? Come organizza le sue giornate?
“Da molto prima dell’emergenza Coronavirus, a seguito della quale il tema smart working è diventato di grande attualità, noi lavoriamo da qualunque posto, in modo agile. Abbiamo iniziato oltre un anno fa a seguito del trasferimento in un’altra città di uno sviluppatore del team, e ci siamo subito resi conto che questa modalità era perfetta per tutti e ci consentiva di lavorare meglio di prima. Del resto, anche nei momenti in cui eravamo tutti insieme, per parlarci senza disturbare ci scrivevamo in chat. Questo ci ha fatto comprendere che per attivare lo smart working serve soprattutto la capacità di comunicare in modo asincrono, senza aspettarsi che l’altro risponda nell’immediato. Cosa fondamentale, peraltro, per chi, come un developer, ha la necessità di concentrarsi su ciò che sta facendo senza dover interagire spesso con altri.
Altra condizione essenziale è poter lavorare senza un orario preciso, ma su obiettivi individuati e condivisi. È anche vero che per evitare di esagerare, cerchiamo di individuare comunque un orario giornaliero, altrimenti, un po’ per passione per il lavoro e un po’ per entusiasmo, non staccheremmo mai!”
Quali sono gli strumenti che utilizza un developer?
“Il nostro strumento principale è Github, un repository all’interno del quale condividiamo il codice scritto, facciamo code review e abbiamo la possibilità di consultare le attività pianificate settimanalmente. Per comunicare, invece, utilizziamo Slack, un sistema evoluto di chat che consente di organizzare tra noi diversi canali di comunicazione, come quello di sviluppo con i rilasci del software, o di test, o con le notifiche di acquisto che arrivano dalla piattaforma. Uno strumento che si integra con molti altri che utilizziamo e che diventa pertanto una specie di collettore di eventi e attività da svolgere oltre che un “luogo” di confronto. Oltre a questi abbiamo ovviamente altri strumenti utili a gestire la piattaforma e l’infrastruttura che la ospita.”
Quali sono le competenze necessarie per diventare developer? Quale il percorso di studi da intraprendere?
“Sul percorso di studi, se dovessi parlare della mia esperienza di ex studente di informatica all’Università, posso dire che esiste una distanza così grande tra quello che si studia e quello che serve realmente nel mercato del lavoro, che ritengo non sia indispensabile essere laureati per sviluppare software. Anzi, posso dire che la maggior parte degli sviluppatori più bravi che ho conosciuto, arriva da percorsi di apprendimento da autodidatta. Internet è fonte di grande ispirazione e conoscenza, così come le comunità di software libero dove è possibile apprendere esattamente ciò che serve per diventare bravi developer. Fino a una quindicina di anni fa non era così, ma oggi ogni ragazzo o ragazza ha infinite possibilità di imparare a sviluppare in Rete.”
Hai prima nominato il software libero, descrivendolo come grande occasione di conoscenza aperta. Secondo alcuni il Cloud, al contrario, potrebbe dare “dipendenza” da fornitore, il famoso lock-in. Che ne pensi?
“Confermo di essere quello che si potrebbe definire “un fan sfegatato dell’open source”, visto che la maggior parte delle cose migliori che esistono oggi in informatica ritengo siano figlie delle quattro libertà che contraddistinguono il software libero.
Se guardiamo al Cloud, il problema a mio avviso è sempre e comunque l’approccio che abbiamo: se, infatti, non ci vincoliamo alle piattaforme non avremo lock-in. L’importante è avere l’accortezza di non costruire soluzioni sopra gli strumenti, ma essere in grado di astrarre le soluzioni e renderle indipendenti.”
Qual è l’aspetto più bello del lavoro di un developer?
“Dirò forse una cosa scontata, ma il meglio del mio lavoro è il team e le persone che ne fanno parte senza le quali non sarei riuscito a costruire ciò che abbiamo.”
Quali sono le modalità di aggiornamento per uno sviluppatore?
“Non credo esistano corsi da seguire che siano efficaci per il lavoro che svolgiamo: in genere si apprendono le cose che servono man mano che si procede verso il completamento del task, mentre spesso il corso consiste in panoramiche di uno strumento che ho comunque necessità di approfondire.
Personalmente consulto quotidianamente Hackersnews, un portale di aggregazione di notizie user generated, in stile Reddit, che ha anche una sua newsletter settimanale. Oltre a questo, ovviamente forum e siti specifici.”
Un libro consigliato da leggere?
“Non leggo molti libri perché leggo tantissime cose tecniche ogni giorno. Ma un libro davvero ancora molto attuale, anche se di diversi anni fa, e dal quale ho appreso molto del metodo che oggi utilizzo per il mio lavoro è “Continuous Delivery” di Jez Humble e David Farley. Un testo che fa comprendere la cosa più importante per un developer: capisci il problema e trova una soluzione che soddisfi il cliente nel tempo più breve possibile. Il nostro lavoro, del resto, è questo.”
Articolo originale su ingenium-magazine.it
🇬🇧 🇺🇸 If you found value in my content, consider supporting me by treating me to a coffee, beer, or pizza. Your contributions help fuel more quality content creation.
🇮🇹 Se hai apprezzato i miei contenuti, considera di supportarmi offrendomi un caffè, una birra o una pizza. I tuoi contributi aiutano a creare contenuti di qualità.
- Paypal
- BTC
- ETH
🇬🇧 🇺🇸 If you have found inaccuracies or wish to improve this article, please use the comments section below (after clicking on Load Comments).
🇮🇹 Se hai trovato imprecisioni o vuoi migliorare questo articolo, utilizza la sezione commenti qui sotto (dopo aver cliccato Load Comments)
Comments