Gabriele Lana – Developer

0
1756
Gabriele Lana - Developer

Gabriele Lana, nato a Milano nel 1977, si definisce con orgoglio “programmatore“. Ha iniziato da bambino verso la fine degli anni ’80, l’amore e la passione che si respiravano per questo mestiere in quegli anni non lo ha più abbandonato.

Ad oggi ha accumulato circa 20 anni di esperienza professionale come programmatore in molti campi: automazione industriale (soft real-time), medicale, bancario, assicurativo, monitoraggio di sistemi critici, ha realizzato server per videogiochi online, un motore di ricerca distribuito ed oggi lavora su una piattaforma di micropagamenti.

La maggior parte del suo tempo la spende con i suoi due amori: la famiglia e il suo lavoro. Il poco tempo libero che gli rimane lo dedica a mantenersi in forma e agli hobby nerd ovvero leggere manga e guardare serie televisive.

L’ultimo social post?

Nonostante abbia ancora oggi un discreto successo ho abbandonato il mio blog anni fa per passare prevalentemente a Twitter, molto più immediato e molto meno “costoso” da alimentare. Rispondo alla domanda “Results of 46 days of intermittent fasting: -3Kg (77Kg), waist -5cm (83cm), chest +4cm (109cm), impressed, let’s continue” ovvero mi esalto dei risultati del mio ultimo esperimento di Body Hacking usando me stesso come cavia.

L’ultimo video che hai visto su Youtube?

Sono un discreto fruitore, guardo i video di molte conferenze, gli ultimi che ho guardato sono quelli della “Lambda Jam 2016“. Ultimamente però sono drogato delle reactions di “Game of Thrones”

Mac, Windows o Linux?

Negli anni sono arrivato ad un equilibro che per me funziona molto bene: hardware Apple (MacBook Pro 15″), lavoro/programmo su macchine virtuali Linux, tutto il resto (email, documenti, presentazioni, video, adio, ecc…) lo faccio su Mac OSX. Tendo a “sporcare” il meno possibile la macchina host (Mac) quindi a differenza di quanto fanno altri, lavoro interamente nelle macchine virtuali che quindi hanno anche un’interfaccia grafica, non ho installato niente per programmare su Mac.

L’ultimo acquisto online?

Magliette di “Game of Thrones”, nello specifico Stark e Targaryen 🙂

Un libro che ha segnato la tua vita?

Sono due. “The Pragmatic Programmer” mi ha fatto capire che tipo di programmatore voglio diventare. “Structure and Interpretation of Computer Programs” mi ha fatto realizzare quanto poco avevo capito della programmazione e che è impossibile innovare senza aver studiato il passato.

Quale è stato il progetto lavorativo che più ti ha segnato?

Il mio primo lavoro “serio” è stato nell’automazione industriale alla fine degli anni ’90, il mio lavoro era quello di manutenere, modificare e migliorare il software che faceva funzionare le macchine che l’azienda vendeva. L’azienda era fra i leader mondiali del suo settore eppure il software che mi sono trovato fra le mani è fra i peggiori che abbia mai visto. Ho capito immediatamente la differenza fra la teoria (le cose che avevo studiato fino a quel momento all’università) e la pratica. All’università ti insegnano a dominare la complessità nel piccolo (algoritmica) nella pratica il vero nemico è la complessità nel grande (sistemica) che emerge da problemi “reali”, con reali intendo modellati a partire da requisiti di business di aziende vere che vendono prodotti che verranno utilizati da persone vere… Quel progetto mi ha fatto capire che non c’è solo il software nella mia professione.

Quando hai deciso di diventare sviluppatore?

Consciamente direi quando a 8 anni mio padre mi regalò un Commodore 64, diventò ben presto il mio “gioco” preferito, ma il vero fulmine mi colpì quando copiando il primo listato capii che potevo fargli fare quello che volevo, da quel giorno non ho più smesso

Nella tua carriera, ha contato più lo studio (da autodidatta o scolastico-professionale) o l’esperienza pratica?

Non esiste uno senza l’altro, la teoria è fondamentale per evitare errori banali e per riuscire ad ideare un buon piano dal quale partire in un progetto, la pratica è fondamentale per ottenere un riscontro rapido sull’applicazione della teoria alla realtà. Questo ti consente di reagire con rapidità e di adattare il piano di lavoro in caso di necessità. Teoria e pratica creano un ciclo di feedback che è la definizione stessa del lavoro del programmatore. Quindi dire un 50/50.

Il primo colloquio non si scorda mai: hai qualche curiosità da raccontare?

Sono sempre stato un libero professionista, un cliente arriva con un problema ed un budget, io posso accettare la sfida o meno, molto semplice e concreto, quindi in quasi 20 anni di colloquio ne ho fatto solo uno per Google, non è stata una bella esperienza. I colloqui “standard” non mi piacciono, non penso che siano efficaci nel valutare le capacità di un programmatore, o peggio ancora, non penso che siano efficaci nel valutare se un programmatore, inserito in un team di lavoro preesistente, porterà o meno valore al team. Il mio colloquio ideale sarebbe quello di fare una prova sul campo, permettere al candidato di lavorare per un breve periodo di tempo, anche un giorno, con il suo possibile futuro team, in modo che entrambi possano valutare reciprocamente sia le competenze che la “chimica”, mi rendo conto che è molto dispendioso e che quindi in pratica non si fa mai. La cosa che oggi ho visto funzionare meglio è la referenza, bravi programmatori che chiamano altri bravi programmatori con i quali hanno lavorato bene nel passato.

Hai avuto durante la tua carriera professionale un incontro particolare

Molti, ho preso da loro molto, li ringrazio tutti, sarebbero troppi per citarli, voi sapete chi siete 😀

E un’intuizione vincente?

Sono particolarmente bravo a valutare le tecnologie, salto molto spesso sui carri vincenti, peccato che essendo sempre alla ricerca di modi sempre migliori di lavorare scendo dal carro prima di riuscire a capitalizzare veramente l’investimento. Per esempio sono stato uno dei primi in Italia (~2010) ad utilizzare professionalmente NodeJS, oggi NodeJS è al suo apice ed i programmatori NodeJS sono molto ricercati e ben pagati, io però ho smesso di usarlo già da 4 anni

Gabriele Lana - DeveloperCosa consigli ai giovani che vogliono diventare sviluppatore come te?

Ad oggi il nostro modo di insegnare a programmare è estremamente primitivo, la cosa migliore è quella di cercare un mentore, ovvero una persona che fa già il lavoro dei tuoi sogni e di chiedergli consigli. È incredibile quanto si può ottenere con le giuste dosi di determinazione, audacia ed educazione

Internet ha cambiato il mondo del lavoro in Italia. Come?

Assolutamente si, esattamente come è successo nel resto del mondo, putroppo noi siamo sempre un po’ lenti nel cogliere le opportunità, in molti perseguono ancora il mito del lavoro a tempo indeterminato quando la vera occasione deriva dalla flessibilità e dai rapporti di collaborazione (non subordinazione) con le aziende. Il nuovo obiettivo? Imparare un mestiere che generi valore, questo è l’unico vero modo oggi per garantirsi un lavoro “stabile”. Internet in quanto piattaforma democratica ha contribuito a vari livelli a favorire questo cambiamento.

Serve un sindacato dei Networkers? Se sì, come te lo immagini?

Quello di cui sono sicuro è che serve un’etica della professione. Oggi non è ancora visibile agli occhi di tutti ma i computer faranno sempre più parte della nostra vita e la qualità della nostra vita sarà sempre più condizionata dalla qualità del software. Con il tempo le nostre responsabilità cresceranno. Serve qualcuno che veicoli questo messaggio, sia internamente che esternamente. Serve qualcuno che faccia capire la situazione all’opinione pubblica e che spieghi qual è il nostro ruolo. Se questo qualcuno è il sindacato, allora si, serve.

Descrivi la tua professione in modo chiaro e diretto in modo che anche mia nonna possa capirla.

Insegno ai computer come fare delle cose, cose che migliorano la vita delle persone

L’organizzazione ‘classica’ del lavoro (orari rigidi e cartellino da timbrare) ha senso per un programmatore?

Assolutamente no, un programmatore è un “knowledge worker”, il valore generato non è dipendente in maniera lineare dallo sforzo. Posso lavorare per giorni ad un problema senza successo e poi mentre faccio una passeggiata… Bam!, ecco la soluzione, in questo caso come la mettiamo? Non smetti di essere un programmatore dopo le 18:30, i modelli tradizionali di organizzazione del lavoro e sopratutto di remunerazione/compensazione devono essere evidentemente rivisti.

Quanti sono i tuoi amici sui social network, quanti di questi conosci davvero e quanti frequenti anche “off-line”?

Uso prevalentemente i social network per lavoro, buona parte di quelle persone le conosco e frequento anche nella vita reale, ma sono cresciuto negli anni ’80, per me “amico” ha un altro significato e non mischio le cose.

Prima di incontrare qualcuno che non conosci fai una ricerca su Google? 

Certamente, la considero quasi una forma di etichetta.