Da scrittore a formatore Go: una conversazione con Bill Kennedy

In Develer siamo convinti che la crescita tecnica passi attraverso la continua condivisione della conoscenza. Nel nostro format “Intervista d’Autore”, organizzato dal team libreria, ci siamo seduti con Bill Kennedy, autore di libri come Go in Action e The Ultimate Go Notebook, e uno dei formatori di Go più conosciuti al mondo. Abbiamo discusso del suo percorso da scrittore a educatore e di cosa significhi davvero comprendere un linguaggio di programmazione.
Da blogger ad autore di libri
Federico: Bill, grazie per essere qui con noi! Partiamo dall’inizio. Hai scritto libri e formi sviluppatori in tutto il mondo. Ma come è cominciato tutto?
Bill Kennedy: Ciao, sono Bill Kennedy di Ardan Labs: siamo un’azienda di formazione e consulenza, principalmente negli Stati Uniti, con alcuni clienti in Europa. Il mio primo libro, Go in Action, è uscito nel 2015, ma tutto è iniziato con il mio blog.
Tra il 2013 e il 2014 scrivevo molto su Go. Brian Ketelsen ed Erik St. Martin – che organizzano la GopherCon negli Stati Uniti – stavano lavorando a Go in Action e mi invitarono a unirmi a loro dopo aver letto i miei blogpost. Quel libro ha cambiato tutto, soprattutto mi ha portato i primi clienti aziendali, che mi chiedevano di insegnare ciò che avevo imparato durante la scrittura.
“La scrittura è un lavoro d’amore”
F: Com’era il tuo processo di scrittura?
B.K.: Scrivere un post sul blog poteva richiedere una o due settimane di ricerca, test, rifinitura. Ma un libro? È tutta un’altra cosa. Go in Action ha richiesto circa 18 mesi. È un lavoro d’amore, davvero. Ho grande rispetto per chi riesce a terminare un libro: è un impegno enorme, ore al giorno per più di un anno.
F.: Ti è piaciuto il processo?
B.K.: All’inizio sì. Poi, quando Manning ha iniziato a pubblicare i capitoli, è diventato molto reale, e quello mi ha esaurito. Non sono riuscito a scrivere di nuovo per molto tempo. Più tardi ho scritto un secondo libro, basato sul materiale dei miei corsi, e quello ha richiesto circa sei mesi.
Scrivere è essenziale se vuoi insegnare. Devi mettere per iscritto i tuoi pensieri: è così che costruisci struttura e contesto. L’insegnamento, le presentazioni, persino i video: tutto viene dopo. Scrivere è faticoso, ma è lì che nasce la chiarezza.
“Ognuno impara in modo diverso”
F.: Dal punto di vista di chi impara, come vedi la differenza tra libri e corsi di formazione?
B.K.: Ognuno impara in modo diverso. Se vuoi essere un educatore, devi coprire tutti i formati – testi, video, audio – perché ogni persona apprende in modo diverso.
Personalmente, preferisco leggere quando si tratta di argomenti tecnici complessi, perché posso procedere al mio ritmo. I video sono ottimi per concetti di livello più alto o per farsi una prima impressione su un argomento. Ma per imparare davvero, torno sempre al materiale scritto.
“Per imparare Go, inizia da un problema che vuoi risolvere”
F.: Qual è l’errore più comune che vedi nei principianti di Go?
B.K.: Le persone spesso partono con il focus sbagliato. Il mio consiglio è: inizia da un problema che vuoi risolvere. Qualcosa di semplice, idealmente qualcosa che hai già risolto in un altro linguaggio. Non preoccuparti degli idiomi o dello stile. Fai in modo che funzioni.
Una volta che il programma gira, guarda come gli altri lo scriverebbero in modo più idiomatico. Confronta, fai refactoring e impara dalle differenze. Ma devi passare attraverso la tua versione prima, altrimenti non interiorizzerai ciò che rende migliore quella idiomatica.
F.: È interessante. Anch’io ho imparato Go dopo anni di C++, quindi ho iniziato “traducendo” il mio modo di pensare da C++ a Go, prima di imparare i suoi idiomi.
B.K.: Esatto! È naturale. Una volta che ti senti a tuo agio, il passo successivo è imparare il packaging e il design delle API, è lì che molti commettono errori. I package sono fondamentali in Go. Nei miei corsi, è una delle prime cose che affrontiamo: come strutturare il codice, come progettare le API e quando infrangere le regole (perché ci sono sempre eccezioni).
Go, Rust e il panorama dei linguaggi.
F.: Perché lavori ancora principalmente con Go invece che con linguaggi più nuovi o “di tendenza”?
B.K.: (ride) Perché mi pagano per scrivere in Go! È lì che c’è mercato, e mi piace. Ho provato Rust, e non sono un fan, anche se conosco persone che lo amano. Penso che il prossimo grande linguaggio da tenere d’occhio sia Zig: l’anno scorso aveva molta spinta, ora ha rallentato un po’. In generale penso che ogni linguaggio abbia il suo scopo. Se lo usi per ciò per cui è stato progettato, otterrai buoni risultati.
“Inizia con un talk di 20 minuti”
F.: Sei scrittore, programmatore e formatore: come si passa dalla scrittura all’insegnamento?
B.K.: Il mio consiglio è di preparare un talk di 20 minuti e usarlo per fare pratica nei meetup. Se non riesci a spiegare un argomento in 20 minuti, significa che non lo conosci abbastanza bene oppure che stai cercando di dire troppo.
Tieni quello stesso talk più volte – per almeno sei mesi, magari anche un anno – migliorandolo a ogni occasione.
Solo dopo puoi pensare di passare a un talk da 40 minuti. Tieni a mente che c’è un punto importante: tutti possono sopportare un talk noioso di 20 minuti, e all’inizio sarà così. Nessuno, invece, può resistere a un talk noioso da 40 minuti.
L’obiettivo è costruire un talk di 20 minuti con un buon ritmo e una componente di intrattenimento.
Non puoi nasconderti dietro al podio: devi muoverti, interagire, guardare le persone negli occhi. Quando impari a farlo, puoi affrontare una talk da 40 minuti, sperando di mantenere viva l’attenzione del pubblico per tutto il tempo. Poi passa a un talk di un’ora.
Quando riesci a tenere le persone coinvolte per un’ora, allora sei pronto per la formazione vera e propria. Perché insegnare per 4–8 ore richiede non solo conoscenza, ma anche intrattenimento. Non sei solo un istruttore, sei anche un intrattenitore. Se non riesci a mantenere viva l’attenzione, le persone non impareranno.
Il piacere dell’insegnare
F.: Ti piace fare il formatore e il relatore?
B.K.: Sì. Ho sempre cinque talk pronti, che possono durare da 30 minuti a un’ora. Lo faccio da 12 anni, e ogni paio d’anni creo nuovo materiale. Insegno anche corsi di 20 ore, e parti di quei corsi diventano nuovi talk. Ma è un percorso: si costruisce passo dopo passo.
Il percorso di Bill Kennedy, dal blogging alla scrittura fino alla formazione a livello mondiale, mostra quanta pazienza e quanta cura servano sia per scrivere che per insegnare. Il suo consiglio, per chi impara e per chi insegna, è semplice ma profondo: inizia in piccolo, sii costante e scrivi sempre per primo.