Il gioco della vita. Ovvero come (ri)diventare nerd in 7 passi
Se un informatico, da così poco da aver appena scoperto come si scrivono i primi programmini, o da così tanto tempo da esserti dimenticato la gioia delle grandi sfide, dato che ormai non è quasi più necessario essere un grande esperto di banchi di memoria e puntatori e dato che ormai ci sono così tanti linguaggi di programmazione che hai deciso che sei stanco di doverne imparare di nuovi.
Sei un informatico, da così poco da aver inizato ad intuire che ci sono tanti modi per scrivere lo stesso programma, per poterci lavorare a più mani, per capire che la tua esperienza da sola non basta a prevedere ogni possibile bug, o da così tanto tempo da averne visti di modi esotici per scrivere codice, da averne viste di mani rimaneggiare il tuo, da averne visti di bug ad arricchire la tua esperienza al punto di essere certo che non potrai prevedere ogni possibile bug.
Che tu sia un informatico da tanto o da poco tempo, una cosa di sicuro l'hai capita: il tuo lavoro è un lavoro a metà tra quello di un artigiano, di un artista, di uno scienziato e di un sognatore. Il tuo lavoro si alimenta di esperienza, di bellezza,di sfide e di un pizzico di follia, per dirla come Steve Jobs.
E, se ami il tuo lavoro, se ami scrivere codice, se ami essere un dev perchè sai che i dev sono i capi del mondo, allora sai anche che devi alimentarti di cose buone continuamente se vuoi continuamente migliorare, o per lo meno ti devi mettere in condizione di ricordarti che lo devi fare.
E' il gioco della vita, se mangi cose buone, diventi migliore.
Il "Gioco della vita" di Conway è il gioco che solitamente si implementa durante i coderetreat. Lo stesso gioco, sempre, in tutto il mondo.
E' un gioco estremamente semplice, le cui regole sono chiaramente codificate e comprensibili. Tuttavia può insegnare una serie di piccole grandi lezioni su come progettare un buon design per il codice, su come renderlo comprensibile, efficiente, privo di ripetizioni, e testabile. Lavorare in coppia, in "pair programming", spinge sfida dopo sfida al di fuori della propria "zona di confort", rendendo il nostro cervello più plasmabile alla sorpresa della novità.
Il formato di un coderetreat è riassumibile in 7 semplici passi, raffinati sessione dopo sessione negli anni con lo scopo di evidenziare le piccole e grandi decisioni che costantemente vengono prese nella scrittura di codice:
- Dura un'intera giornata
- I partecipanti scrivono codice a coppie
- Ogni sessione ha una durata limitata, di circa 45 minuti
- Il problema da risolvere è il "Gioco della vita" di Conway
- Il codice viene cancellato alla fine di ogni sessione
- Si forma una nuova coppia di partecipanti alla fine di ogni sessione
- Alla fine della giornata, si fa una piccola retrospettiva tutti assieme
Il Gioco della vita è un gioco "senza giocatore" all'interno di una griglia, o mondo, infinita. Anche il tuo mondo è praticamente infinito, sia che tu sia un informatico da così poco tempo da averne esplorato solo una piccola parte, sia che tu sia informatico da così poco tempo da pensare che tutto quello che poteva essere inventato è stato inventato. Ma nel tuo mondo, oltre alle regole matematiche, un giocatore c'è. E se hai (ancora) voglia di giocare, è tempo di (ri)mettersi in gioco.
Un coderetreat è una fantastica occasione. E questo è un invito al coderetreat che sto organizzando @LMSpace a Cittadella (PD) il 12 dicembre 2015.
Dove ti porteranno le tue scelte?
Associate Professor at Università degli Studi di Padova
9 anniGià fatto :-D