Per Iniziare
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Inizia ora
Diventa Partner certificato e scopri tutti i benefici del Partner Program.
Scopri il nostro programma
Quest’anno abbiamo partecipato per la prima volta alla Hash Code 2021 e abbiamo colto l’occasione per organizzare diverse attività, sia interne che esterne, legate a questa famosa competizione mondiale.
Il tutto, ovviamente, da remoto.
Hash Code è la challenge lanciata annualmente da Google e ispirata ai problemi che gli ingegneri della Silicon Valley affrontano ogni giorno.
La competizione riunisce sviluppatrici e sviluppatori da tutto il mondo, che si organizzano in squadre per partecipare insieme alla sfida.
I team sono organizzati per affinità di utilizzo di uno specifico linguaggio. Questo perché ciascuno, durante la challenge, riceve lo stesso identico problema, ma le modalità di risoluzione sono totalmente libere.
Aziende, Università, community e altri gruppi organizzano ogni anno i propri Hub: luoghi fisici dove le persone iscritte alla challenge possono incontrarsi per affrontare la sfida insieme in una giornata di divertimento e condivisione.
Quest’anno gli Hub sono stati organizzati in modalità virtuale, e anche noi di Mia-Platform abbiamo colto la sfida, formato un Hub e organizzato attività preparatorie per i nostri coders.
Come dicevamo, gli Hub quest’anno sono passati dall’essere luoghi fisici a luoghi virtuali.
Il primo step per essere un Hub riconosciuto, in ogni caso, è quello di iscriversi sul sito della Hash Code Challenge e registrare il proprio Hub, che comparirà così sulla mappa ufficiale insieme a tutti gli altri.
Come luogo di incontro virtuale per le persone iscritte all’Hub abbiamo scelto Slack: qui abbiamo fornito tutte le informazioni utili, mandato i reminder per le scadenze, aiutato nella formazione dei team e raccontato le iniziative che avremmo svolto in vista della challenge ufficiale, tra cui il Kata di allenamento.
Il termine Kata, oltre a definire una tipologia di esercizio propria del Karate, è utilizzato anche per per identificare un esercizio di programmazione che viene svolto per migliorare le competenze di sviluppo attraverso la pratica e la ripetizione.
In Mia-Platform la pratica del Kata si inserisce tra le attività periodiche di continuo miglioramento rivolte agli sviluppatori. Viene svolta sia singolarmente sia in pair programming, e quest’anno si è trasformata in modalità virtuale.
Da questa esperienza è nata l’idea di unire la pratica del Kata a quella della Hash Code, e così abbiamo organizzato due appuntamenti che fossero una vera e propria simulazione della Hash Code:
Il Kata è un appuntamento fisso in Mia-Platform, molto partecipato e apprezzato, ma utilizzare il modello Hash Code è stata un’assoluta novità.
Il team di organizzazione del Kata ha messo a disposizione di tutti un file excel con l’elenco dei partecipanti e, per ciascuno, la possibilità di inserire i linguaggi preferiti o più conosciuti.
È partita così l’organizzazione delle squadre, che dovevano essere di minimo due e massimo quattro componenti, sulla base dei linguaggi più apprezzati da ciascuno.
È stato divertente, nei giorni precedenti al Kata di allenamento, vedere le varie proposte di organizzazione team all’interno delle diverse chat aziendali e la conseguente scelta dei nomi per ogni team.
Una volta organizzati i team, a ciascuna squadra è stato assegnato il link a una stanza su Google Meet.
Dopo una prima parte di plenaria tutti insieme, in cui gli organizzatori hanno spiegato le regole e dato qualche informazione utile, tutti i team hanno ricevuto il problema e si sono ritrovati nelle varie stanze per partire con la challenge.
Lo strumento utilizzato da Google per gestire il caricamento delle soluzioni e il calcolo dei punteggi è il Judge System, che nomineremo spesso in questo articolo.
Le varie squadre hanno quindi caricato i propri risultati all’interno del Judge System durante le 4 ore e si sono ritrovate poi nella stanza principale a fine esercitazione per vedere la classifica e confrontarsi sulle varie soluzioni trovate.
Per noi aver sperimentato il Kata con una nuova tipologia di esercizio è stato sicuramente premiante. I problemi proposti dalla Hash Code sono complessi ma divertenti e tutti i partecipanti hanno apprezzato l’iniziativa, chiedendo di poterla replicare periodicamente.
Non solo: nonostante fosse un’attività rivolta principalmente agli sviluppatori, anche altre figure hanno partecipato e goduto dell’esperienza perché i problemi proposti dalla Hash Code prevedono tantissimo confronto e ragionamento di squadra.
Una volta sperimentato il Kata internamente, abbiamo deciso di lanciarci nella sfida di renderlo un evento aperto al pubblico.
Nonostante le modalità fossero pressoché simili, il fatto che l’evento prevedesse ospiti esterni ha chiaramente posto qualche elemento di complessità aggiuntivo.
Innanzitutto abbiamo deciso di fissare l’evento per un sabato pomeriggio, dopo di che abbiamo aperto delle vere e proprie iscrizioni.
Diverse persone ci avevano raggiunto su Slack per confrontarsi, organizzarsi, iscriversi alla challenge insieme a noi. Non tutte però, avrebbero potuto partecipare al Kata, perciò era necessario creare un filtro.
Attraverso un semplice Google Form abbiamo raccolto le iscrizioni tra le persone che ci avevano raggiunto su Slack e tra le persone di Mia-Platform, e abbiamo divulgato l’iniziativa attraverso i nostri canali Social e il nostro blog.
Nel form abbiamo chiesto subito quali fossero i linguaggi conosciuti e preferiti, e in questo modo abbiamo creato un excel con l’elenco partecipanti e i linguaggi conosciuti e lo abbiamo messo a disposizione di tutti affinché potessero organizzarsi in squadre.
Il giorno del Kata, così come fatto per l’evento interno, ci siamo tenuti i primi minuti dell’incontro per riorganizzare eventuali team. Questo è molto importante perché, anche con la migliore delle organizzazioni, qualche disdetta o qualche partecipante che si unisce all’ultimo c’è sempre e bisogna tenerne conto.
Essere organizzatori di un Hub ti permette di entrare in contatto con tutti gli altri organizzatori di Hub nel mondo e questo è stato importantissimo anche per la realizzazione di questo evento.
Perché? Perché qualcuno tra gli altri organizzatori ha condiviso un file con tutte le soluzioni dei passati tornei, per permettere a tutti di allenarsi al meglio.
Grazie a questo, Davide Bianchi e Davide Tantillo di Mia-Platform, all’interno del team di organizzatori, hanno deciso di realizzare un vero e proprio Judge System dove i partecipanti all’allenamento potevano caricare le soluzioni e vedere in tempo reale la classifica con tutti i team.
Anche questo incontro è stato un successo: le persone, soprattutto chi non aveva mai partecipato a una Hash Code, hanno avuto modo di sperimentare questa modalità di coding challenge e allenarsi davvero in vista della gara ufficiale che si sarebbe tenuta da lì a pochi giorni. Inoltre, aver realizzato un Judge System e averlo messo a disposizione di tutti ha reso l’appuntamento davvero unico.
Tornando un pochino indietro, i passaggi fondamentali per partecipare alla Hash Code sono:
Ecco perché gli stessi organizzatori della challenge incentivano molto la partecipazione attraverso un Hub.
Chi si unisce a un Hub ha qualcuno che lo guida, che ricorda le scadenze, che organizza momenti di allenamento e, in un mondo in cui ci si può incontrare liberamente, organizza una giornata unica per condividere la sfida nello stesso luogo (accompagnati da cibo e bevande, ovviamente).
Il giorno della Hash Code, non potendo mettere a disposizione il nostro ufficio come avremmo voluto, ci siamo quindi occupati di tenere il tempo a tutti i team e di accompagnarli durante la sfida.
Sono state quattro ore molto intense, nell’ultima delle quali non era neanche più possibile vedere l’andamento della classifica.
Oltre a incoraggiare i partecipanti a tenere alta la concentrazione e a dare il massimo, ci siamo divertiti a condividere i nomi dei team in giro per il mondo che abbiamo scovato guardando la classifica.
I nostri preferiti:
Nonostante l’obbligo di svolgere tutto da remoto, abbiamo deciso di cogliere questa opportunità e metterci in gioco aprendo il nostro Hub virtuale e organizzando attività di preparazione per i team iscritti.
Ne siamo stati felici e soddisfatti, e abbiamo riscontrato grande soddisfazione anche dai partecipanti.
Abbiamo invitato i partecipanti al Kata aperto al pubblico a rispondere a una breve survey: l’80% ha risposto “molto” alla domanda se avesse apprezzato l’iniziativa, il 100% ha detto che parteciperebbe nuovamente.
Anche internamente la soddisfazione è stata tanta: moltissime persone hanno chiesto che un Kata a tema Hash Code diventasse un appuntamento fisso e hanno apprezzato particolarmente la sfida di gruppo, il ragionare insieme e il confronto finale.
Molti hanno dichiarato che l’allenamento tramite la simulazione sia stato importante per performare meglio durante la Hash Code. È stato un momento apprezzato in particolare da coloro che hanno partecipato per la prima volta, ma anche da chi aveva già partecipato e ha avuto così l’occasione di mettersi alla prova con nuovi ragionamenti e linguaggi.
Chi partecipava per la prima volta, ha avuto l’opportunità di arrivare preparato al meglio, evitando il classico spaesamento iniziale e guadagnando tempo prezioso.
Alla luce di questa esperienza siamo certi che apriremo nuovamente le porta del nostro Hub, con la speranza di poter organizzare un momento di incontro nei nostri nuovissimi uffici.