La mia formazione è sempre iniziata dove finivano le istruzioni

Alessandro Giacani, Able2Code

Mi chiamo Alessandro Giacani, sono nato nel 1977 e programmo da quando avevo otto anni.

Ho iniziato con un VIC-20, copiando righe di BASIC dai libretti che spiegavano come realizzare piccoli videogiochi. Non esistevano tutorial, video o community pronte a rispondere a ogni domanda. Se qualcosa non funzionava, bisognava rileggere tutto, provare, sbagliare e capire.

In fondo, il mio modo di lavorare non è cambiato molto da allora.

Sono cambiate le macchine, i linguaggi, Internet e il modo di vendere. È rimasta la necessità di andare oltre la superficie, aprire le cose e capire davvero come funzionano.

Quando non esistevano i tutorial

Dopo il VIC-20 arrivarono il Commodore 64, l’Amiga, Visual Basic e infine i PC.

A dodici anni smontai completamente il computer di famiglia, pezzo dopo pezzo. I miei genitori, comprensibilmente, rischiarono un colpo: all’epoca un PC costava una fortuna e io non avevo né una guida né qualcuno che mi spiegasse come rimontarlo.

Era avventura pura.

Sull’Amiga, insieme ai miei amici, utilizzai Dragon, uno dei primi programmi di riconoscimento vocale, per realizzare un sistema che segnasse a voce i punti durante le partite a carte. Non era stato pensato per quello, naturalmente. Ma proprio questo rendeva l’esperimento interessante.

Non mi è mai bastato usare uno strumento per ciò per cui era stato progettato. Ho sempre voluto capire fino a dove poteva arrivare.

Circuiti, console e sistemi da aprire

Negli anni delle console, dei masterizzatori e della televisione satellitare, la curiosità si spostò anche sull’elettronica.

Lavoravo piastre di rame, realizzavo circuiti e costruivo smart card. Studiavo i decoder e cercavo di capire sistemi che, per la maggior parte delle persone, erano soltanto scatole chiuse.

Parliamo di un’altra epoca: le protezioni erano più ingenue, tutto era meno documentato e le informazioni si trovavano in frammenti sparsi. Bisognava leggere molto, osservare e collegare dettagli apparentemente separati.

Era proprio questo il bello.

Internet prima delle piattaforme

Poi arrivarono Internet e IRC, e per me fu il delirio.

La rete non era ancora dominata dai social network, dalle piattaforme chiuse e dai servizi pronti all’uso. Era composta da server, canali, comunità internazionali e persone che condividevano conoscenza, software e idee.

Frequentavo gruppi legati all’hacktivismo e alla cultura di una rete libera e aperta. I server IRC erano punti d’incontro, ma anche ponti verso un mondo nel quale tutto sembrava ancora da costruire.

Internet non era un posto in cui limitarsi a consumare contenuti. Era un territorio da esplorare.

È in quegli anni che ho sviluppato il mio modo di ragionare sui sistemi: capire come comunicano, dove si fidano troppo l’uno dell’altro, dove possono rompersi e come sia possibile farli funzionare diversamente.

Imparare a trovare una strada

Anche a scuola mi capitava di affrontare i problemi in questo modo.

Durante l’esame di maturità al liceo scientifico mi trovai davanti a un problema matematico che richiedeva un procedimento che non ci era stato spiegato. Per ottenere il volume, ragionai introducendo una terza dimensione e applicando un ulteriore integrale.

Fui l’unico nella scuola a risolverlo.

Non perché conoscessi già la risposta, ma perché ero abituato a costruirmela.

Quell’episodio rappresenta bene il mio rapporto con la tecnologia: quando non conosco la soluzione, cerco di ricostruire il problema fino a trovare una strada percorribile.

L’università e l’informatica del mondo reale

Inizialmente mi iscrissi a Ingegneria civile. Poi conobbi una persona, mi innamorai e cambiai molte cose, compresa la facoltà. Passai a Ingegneria informatica, che era molto più vicina a ciò che facevo già da anni.

L’università mi diede basi e metodo, ma Internet stava evolvendo molto più rapidamente dei programmi accademici.

In alcuni degli ambiti più nuovi, soprattutto reti, sicurezza, Web ed e-commerce, avevo già maturato un’esperienza pratica che difficilmente poteva essere insegnata sui libri dell’epoca.

Ricordo un sistema Linux dell’università protetto da login. Mi bastò riconoscerne la versione per sapere che il kernel conteneva una vulnerabilità nota. Anche la rete universitaria, nonostante fosse distribuita su diversi segmenti, switch e sistemi di protezione, era molto meno impenetrabile di quanto apparisse.

Erano altri tempi. Molte architetture erano state progettate pensando al funzionamento, non ancora a tutte le modalità con cui qualcuno avrebbe potuto aggirarle. Oggi comportamenti simili sarebbero inaccettabili, ma quell’esperienza mi insegnò quanto sia pericoloso confondere la presenza di una protezione con la reale sicurezza di un sistema.

Alla fine lasciai l’università.

Non perché avessi perso interesse per l’informatica, ma perché l’informatica era già diventata il mio lavoro. Mi ero costruito un’attività in un settore appena nato e, in alcuni campi, il mondo reale mi stava insegnando più velocemente dell’aula.

E-commerce dal 1996

Ho iniziato a lavorare nel commercio elettronico nel 1996.

Allora realizzare un negozio online significava costruire quasi tutto. Non c’erano piattaforme che, con pochi clic, gestivano cataloghi, pagamenti, magazzini e spedizioni. Convincere una persona a inserire i dati della propria carta di credito su Internet era già una sfida.

I primi siti puntavano molto su Flash. Erano spettacolari per l’epoca, ma difficili da indicizzare e spesso poco leggibili dai motori di ricerca. Il passaggio verso siti HTML realmente navigabili e indicizzabili non fu soltanto un’evoluzione tecnica: cambiò il modo di progettare la vendita online.

Da allora ho visto nascere piattaforme, motori di ricerca, advertising, marketplace, sistemi di pagamento, comparatori, social network e applicazioni mobili.

Soprattutto, ho imparato che un e-commerce non è semplicemente un sito con un carrello.

Dietro ci sono il catalogo, il magazzino, gli approvvigionamenti, i margini, la stagionalità, la logistica, i pagamenti, le spedizioni, l’assistenza, la pubblicità, il comportamento degli utenti e centinaia di decisioni che devono funzionare insieme.

Il codice è soltanto uno degli strumenti necessari per governare tutto questo.

Un anno nella Segreteria di sicurezza

Servizio militare

Durante il servizio militare fui assegnato alla Segreteria di sicurezza della caserma con incarico 7/B.

La sigla serviva a non riportare esplicitamente il compito svolto. In modo molto meno formale, l’incarico veniva definito “la spia”.

Ricevetti il NOS, il Nulla Osta di Sicurezza, e potevo accedere alle aree riservate nelle quali venivano gestite comunicazioni cifrate e apparecchiature trattate secondo i requisiti TEMPEST, pensati per impedire che le emissioni elettromagnetiche potessero rivelare informazioni riservate.

Anche durante il servizio militare finii per programmare.

Realizzai software per gestire gli ingressi e alcune necessità interne della caserma. Fu un’esperienza molto diversa da quelle precedenti, perché mi mise davanti a procedure rigorose, responsabilità precise e sistemi nei quali la sicurezza non poteva essere considerata un dettaglio aggiuntivo.

In quell’ambiente conobbi anche persone e fornitori del settore militare. Quei contatti mi permisero in seguito di proporre nuove opportunità a Militaria.it e di contribuire allo sviluppo del suo e-commerce.

Militaria.it è ancora online.

Sistemi che devono funzionare davvero

Negli anni ho realizzato e seguito negozi online appartenenti a settori molto diversi.

Tutti gli e-commerce principali con cui ho lavorato sono ancora attivi. Alcuni clienti collaborano con me da decenni.

Complessivamente, le piattaforme e-commerce che ho creato o seguito supportano oggi più di 100 milioni di euro di vendite ogni anno.

Non considero quel numero un merito esclusivamente mio: dietro ogni azienda ci sono imprenditori, dipendenti, fornitori e organizzazioni complesse. Ma è una misura concreta del livello di responsabilità raggiunto dai sistemi sui quali lavoro.

Quando un negozio gestisce migliaia di prodotti, ordini continui, campagne pubblicitarie, integrazioni con corrieri, pagamenti e processi di magazzino, il software non può limitarsi a essere elegante.

Deve resistere.

Deve permettere all’azienda di lavorare ogni giorno, anche mentre viene aggiornato, modificato o ampliato. Deve evitare che un cambiamento interrompa le vendite o faccia perdere ordini. E deve adattarsi a processi reali, che raramente corrispondono agli esempi perfetti descritti nella documentazione.

È soprattutto questo il lavoro che faccio.

Non soltanto e-commerce

Nel tempo ho lavorato anche su applicazioni mobili, sistemi gestionali, automazioni, integrazioni, SEO, advertising e progetti digitali di natura molto diversa.

Ho sviluppato la parte software dell’applicazione della Pinacoteca di Palazzo Pianetti. Il mio contributo riguardava il codice, mentre UX, contenuti multimediali e direzione creativa erano affidati ad altri professionisti.

Credo sia importante specificarlo: un progetto complesso nasce quasi sempre dal lavoro di più persone e riconoscere con precisione il proprio ruolo rende il risultato più credibile, non meno importante.

La varietà dei progetti mi ha permesso di lavorare con aziende, negozi, istituzioni culturali e realtà appartenenti a mondi apparentemente lontani tra loro.

Alla fine, però, la domanda è quasi sempre la stessa:

come possiamo utilizzare la tecnologia per risolvere un problema concreto?

Fermare la mente per lavorare meglio

Da circa dieci anni pratico la Meditazione Trascendentale.

Ci sono arrivato attraverso un amico, che mi parlò di un insegnante disposto a trasmettere gratuitamente la tecnica. La cosa attirò subito la mia curiosità, anche perché sapevo che David Lynch, uno dei registi che amo di più, la praticava da decenni e ne parlava come di una parte fondamentale del proprio processo creativo.

Non cercavo una nuova religione, una filosofia da seguire o risposte mistiche. Volevo capire se quella pratica potesse realmente incidere sul modo in cui la mente affronta il lavoro, la pressione e i problemi complessi.

Dopo aver iniziato, la meditazione è diventata una presenza stabile nelle mie giornate.

Dal mio punto di vista, ha moltiplicato la produttività, la creatività e la capacità di rimanere lucido quando qualcosa va storto. Mi ha aiutato a recuperare più rapidamente dopo i periodi difficili, a non farmi travolgere dalla pressione e a lasciare spazio alle soluzioni quando continuare a forzare il problema non porta da nessuna parte.

Non considero questi risultati una formula valida automaticamente per tutti. Sono ciò che ho osservato su me stesso in dieci anni di pratica costante.

Pratiche di meditazione e mindfulness sono entrate da tempo anche nelle grandi aziende tecnologiche e in ambienti di lavoro ad alta intensità, nei quali concentrazione, lucidità, creatività e resilienza non sono aspetti secondari.

Per un programmatore, fermarsi può sembrare una perdita di tempo. La mia esperienza è stata l’opposto.

Molte idee non arrivano mentre continuo ostinatamente a scrivere codice, ma quando riesco a ridurre il rumore mentale e a osservare il problema da una distanza diversa.

In un certo senso, meditare segue lo stesso principio che mi accompagna da quando ero bambino: sospendere ciò che sembra ovvio, osservare meglio e lasciare emergere una strada che prima non riuscivo a vedere.

Anche fuori dal codice

Arrampicata

La ricerca di concentrazione, controllo e capacità di adattamento non è rimasta confinata davanti a uno schermo.

Ho sempre avuto una forte passione per gli sport estremi, in particolare per l’alpinismo e il paracadutismo, disciplina per la quale ho conseguito il brevetto.

Paracadutismo

Sono attività che richiedono preparazione, controllo, rispetto delle procedure e capacità di adattarsi rapidamente quando la realtà non coincide con quanto previsto.

Probabilmente non è molto diverso dal modo in cui affronto un sistema complesso.

Anche questa passione si è incrociata con il mio lavoro. Per Flyzone ho gestito un servizio di advertising capace di generare un importante flusso di richieste e nuovi contatti.

Oggi sono sposato e ho una famiglia. La tecnologia continua a occupare una parte enorme della mia vita, ma non è più soltanto il territorio inesplorato davanti al bambino con il VIC-20.

Famiglia in montagna

È diventata un mestiere, una responsabilità e il modo con cui aiuto altre persone a far crescere ciò che hanno costruito.

Bithub e Able2Code

Bithub è nato circa tre anni fa come identità professionale per raccogliere il lavoro svolto nello sviluppo di e-commerce, applicazioni, sistemi Web, advertising e consulenza digitale.

Able2Code è qualcosa di diverso.

È il lato meno istituzionale del mio lavoro: il posto in cui lascio spazio all’appassionato di hacking, nel significato originario del termine.

Non qualcuno che vuole danneggiare un sistema, ma qualcuno che non si accontenta di usarlo. Vuole aprirlo, comprenderlo, modificarlo e scoprire cosa può fare oltre ciò che era stato previsto.

Able2Code è il mio laboratorio.

Un luogo in cui posso parlare di codice, sicurezza, automazioni, intelligenza artificiale, infrastrutture e di tutti quegli esperimenti che nascono dalla semplice domanda:

“E se provassi a farlo in un altro modo?”

Quello che dicono i clienti

Non amo descrivermi utilizzando parole come “competente”, “professionale” o “affidabile”. Preferisco che siano i risultati e le persone con cui lavoro a dirlo.

Nelle recensioni pubblicate dai clienti tornano spesso gli stessi concetti: competenza tecnica, disponibilità, precisione, onestà, attenzione alla SEO e capacità di trovare soluzioni anche quando un problema sembra urgente o fuori dagli schemi.

Alcuni hanno scelto di lasciare le web agency per affidarsi direttamente a me. Altri sottolineano la continuità del supporto e la capacità di intervenire senza interrompere il lavoro del negozio o perdere ordini.

È probabilmente il risultato professionale di cui sono più orgoglioso.

Le tecnologie cambiano continuamente. La fiducia, invece, richiede anni per essere costruita e può essere persa in pochi minuti.

Sto ancora cercando di capire come funzionano le cose

Sono passati quasi quarant’anni dalle prime righe di BASIC sul VIC-20.

Nel frattempo ho utilizzato decine di linguaggi, sistemi operativi, framework e piattaforme. Alcuni hanno cambiato il mondo, altri sono scomparsi senza lasciare quasi traccia.

Non credo che il valore di un programmatore si misuri dall’elenco delle tecnologie che conosce oggi. Quelle tecnologie, tra qualche anno, potrebbero non esistere più.

Conta il modo in cui affronta qualcosa che non conosce.

Conta la capacità di osservare, comprendere il problema, imparare rapidamente e costruire una soluzione che funzioni nel mondo reale.

Sono cambiate le macchine, i linguaggi e le piattaforme.

Non è cambiato il mio approccio: apro il problema, ne studio ogni componente e cerco di ricostruirlo in modo che funzioni meglio di prima.

Perché la mia formazione è sempre iniziata esattamente nello stesso punto:

dove finivano le istruzioni.