Avanscoperta

Matteo Vaccari

Breve biografia:

Il mio viaggio nell’informatica è iniziato con un listato Basic su una rivista di elettronica. Non avevo un computer e non conoscevo nessuno che ne avesse uno (era il 1977) ma iniziai a programmare in Basic su carta, indovinando come funzionasse la programmazione dalla lettura di quel listato.

Nel 1982 ricevetti un Commodore Vic 20 in regalo.

Mi laureai in Scienze Dell’Informazione a Milano, andando fuori corso anche perché impiegai un anno a completare il software per la mia tesi di laurea, che era un’applicazione per l’elaborazione statistica dei dati di laboratorio per il Mac.

Dopo poco tempo tornai all’università, conseguendo un dottorato di ricerca sui metodi formali. La domanda che mi spingeva era sempre quella: come si fa a programmare *bene*? Con il prof. Roland Backhouse ho studiato la derivazione dei programmi secondo Dijkstra, che permette di ottenere programmi semplici, puliti e corretti.

Conseguito il dottorato, ho deciso che preferivo perseguire la carriera di programmatore, invece che una carriera accademica. Faticavo a capire come applicare le conoscenze dei miei studi alla pratica lavorativa. Faticavo anche ad adattare le mie abitudini di programmatore solitario alla necessità di collaborare.

Ho tenuto però un contatto con l’università: da molti anni insegno all’Università dell’Insubria come docente a contratto. Ho insegnato Sistemi Operativi, che mi ha permesso di approfondire questo argomento molto importante anche per il programmatore applicativo, e applicazioni web.

L’incontro con Extreme Programming, grazie a Piergiuliano Bossi, mi ha daato una svolta. Ho imparato che la collaborazione è un ingrediente fondamentale e ho imparato alcune pratiche che la rendono possibile. Ma più importante delle pratiche, sono venuto in contatto con un mondo di valori: comunicazione, feedback, semplicità, coraggio, rispetto. Ho organizzato per tre anni una scuola estiva sui metodi agili, grazie all’indimenticato prof. Elio Lanzarone, e insieme a Federico Gobbo. La prima edizione è stata possibile grazie a Francesco Cirillo e Pascal Van Cauwenberghe, che mi/ci hanno comunicato che cosa significa fare Extreme Programming. Non penso che si possa imparare XP da soli; occorre vedere come parla, pensa e agisce un vero XPer.

Da XP ho imparato anche una tecnica importantissima: il Test-Driven Development. Con il TDD riesco a ottenere codice pulito, semplice e corretto, con una frazione della difficoltà delle tecniche di Dijkstra. Il TDD è una tecnica che posso insegnare e condividere con i miei collaboratori: non c’è bisogno di conoscere molta matematica né di avere un dottorato. E’ una tecnica umanistica, che si sposa bene con la programmazione a oggetti, che pure è una tecnica umanistica.

Il passo successivo è stato partecipare a un workshop di Francesco Cirillo sul design emergente. In quell’occasione ho capito quante cose non sapevo sul design del codice e sulla programmazione a oggetti. Da allora ho intrapreso un percorso di studio, che mi ha portato a capire meglio XP e il TDD.

APPROFONDIMENTI

Leggi l’intervista con Matteo Vaccari sul nostro blog: Imparare dagli sviluppatori senior.

TOP

Calendario corsi: