Hackathon è una parola nata dalla fusione tra hack (nel senso di abilità nel programmare) e marathon , apparsa all'alba del nuovo millennio, coniata dagli sviluppatori di OpenBSD per promuovere una loro conferenza.
Si tratta di un evento competitivo di uno o più giorni durante il quale i partecipanti, a gruppi o singoli, sono chiamati a produrre e presentare un progetto partendo da un tema a sorpresa, annunciato all'inizio della gara.
I temi appartengono ad un ampio spettro di categorie, si va dalla più classica domotica fino ad argomenti più situazionali come la gestione di emergenze in ambienti estremi, per esempio il terremoto del 2009 a l'Aquila. Lo spirito di base invece è costante: ogni hacker deve concepire idee originali , senza una preparazione antecedente all'evento. Deve far conto sulle proprie forze e fronteggiare difficoltà come lo stress, le deadline e soprattutto la stanchezza.
Gli hackathon sono anche strumenti per le aziende per scoprire nuovi talenti: uno sfoggio di abilità può assicurarvi un nuovo lavoro, la corretta gestione delle deadline è un'abilità fondamentale per molti professionisti, interpretare i bisogni e trasformarli in concetti ed idee è un pregio che non tutti hanno.
Esistono molti tipi diversi di hackathon: il più classico presenta un tema generale e vari sponsor dell'evento offrono tecnologie (API, hardware oppure semplice consulting) che alla fine valuteranno per assegnare i premi, ai quali si aggiunge il grand prize dei creatori della gara, e qui si conclude il ciclo.
Più interessante è il formato sviluppato in H-FARM, chiamato H-ACK: come tema si ha uno specifico settore merceologico (per esempio banche, food, health oppure travel) e vengono chiamate aziende rappresentative del segmento a presentare un loro pitch, ossia un abbozzo di una idea che vorrebbero fosse sviluppata più idealmente che fisicamente. L'assegnazione dei premi è simile alla precedente tipologia, però si aprono ben altri orizzonti: l'azienda in questione potrebbe essere interessata a portare avanti il progetto, creando un vero e proprio team di lavoro.
Un altro concept in voga è quello dello Startup Weekend: solitamente non viene presentato un tema, quindi si ha la possibilità di spaziare in tutti i campi, anche al di fuori dell'ambito tecnologico. Si parte con un pitch di appena 60 secondi dove si spiega la propria idea; se questa passa per le fasi di scrematura si dovrà trovare un proprio team, che ha come obiettivo sì il creare un prodotto completo, ma con il fine di convincere degli eventuali investitori a credere ed investire nel tuo progetto, letteralmente come una vera startup farebbe.
Sono un aficionado degli hackathon, ho partecipato ormai ad una dozzina di eventi di tutti i tipi. Come esempio per una ipotetica storia prenderò il classico hackathon da due giorni, sabato e domenica.
Parte tutto il sabato mattina: si arriva assonnati al banco della registrazione, si ritira il proprio badge e si aspetta per il pitch iniziale. Durante l'ora abbondante di microfono parleranno gli organizzatori dell'evento spiegando le modalità, parleranno coloro che mettono a disposizione le loro tecnologie, e parleranno eventuali sponsor. Insomma si parlerà un sacco, mettetevi comodi ed ascoltate.
Finiti i discorsi si parte con le danze: momenti frenetici per potersi accapparrare i membri del team mancanti, tenendo conto delle skill da integrare: grafici, programmatori, esperti marketing, avere un ampio spettro di campi di provenienza sicuramente è d'aiuto.
Perfetto, i membri ci sono tutti: si prende posto nelle tavolate e si comincia ad esporre l'idea al team, continuamente mutandola, integrando o rimuovendo parti. È un processo chiave, che oltre a definire il risultato finale aiuta a capire se il tuo team è un team coeso e vincente oppure se ci sono elementi discordanti.
Distillata l'idea si passa alla lunga fase di lavoro: siamo nel tardo pomeriggio di sabato, sono già passate sei o sette ore dall'inizio, rimangono quindi circa venti ore per sviluppare il tutto. I grafici graficheranno, i programmatori programmeranno, e gli esperti di marketing andranno a zonzo curiosando tra le idee degli altri team.
Ovviamente l'idea di dormire è spesso da dimenticare; c'è il tempo appena per presentare un MVP (minimum viable product), figurati di risposarsi. Spesso ci si riposa un paio d'ore appena, dormendo in un sacco a pelo sotto il tavolo da lavoro o direttamente davanti al laptop.
Certi hackathon offrono eventi aggiuntivi notturni per rompere un po' la tensione: presentazioni, speech tecnici con esperti oppure ginnastica. Ma sicuramente gli stacchi più eccitanti sono i contest: gare di pura abilità con premi aggiuntivi per i più audaci. Avete presente la scena di "The Social Network" dove Zuckerberg sceglie i nuovi programmatori tra alcool e tentativi di intrusione? Ecco, la scena è simile, aspettatevi di tutto.
Finiti gli eventi anche gli organizzatori si coricano per un meritato riposo, ma voi no: destinati a produrre fino allo sfinimento voi dovrete essere svegli e vigili. È di gran lunga la parte più pesante delle 48 ore, il momento nel quale le luci si abbassano e i suoni sono attutiti. Mantenere la lucidità a quest'ora è una impresa anche in giornate più normali, figuriamoci durante un hackathon.
Poi improvvisamente arriva l'alba: i team si svegliano, la luce riempie le stanze e ritorna il brusio di gente che lavora. Una buona colazione è utile per ripristinare parte delle energie bruciate durante la nottata, poi via verso il traguardo. È arrivato il momento di prendere il lavoro dei singoli e collegarlo assieme: la landing page, il server, l'app e l'hardware formeranno presto un prodotto unico, risultato degli sforzi di molti.
Suona la campanella, via le mani dalle tastiere: parte la lunga fase dei pitch, quella di gran lunga più noiosa, dove l'unica cosa da fare è ascoltare e fare previsioni riguardo ai vincitori.
Qualche attimo per deliberare e si procede con le premiazioni: lunghi minuti in ansia, sperando di sentire il nome del proprio team. Se sei stato bravo capita pure a te: strette di mano, la consegna del premio, pacche sulle spalle, lo sguardo di tutti.
Liberi dai propri impegni si procede verso le proprie dimore, con qualche soddisfazione e con qualche rimpianto, magari con un bel premio sul sedile posteriore, in attesa di una nuova avventura.
Per affrontare la serie di problemi, casini, imprevisti che non possono mancare in qualsiasi hackathon ho stilato la mia lista personale di regole e suggerimenti, nella speranza che possano essere utili anche a voi.
Si lavora in un team, quindi è quasi un dovere portare il proprio contributo al progetto, però a volte dover collaborare con professionisti mai incontrati prima potrebbe essere difficoltoso: spesso si hanno opinioni discordanti su come coordinare le cose, oppure riguardo alla gestione delle tempistiche. Per aggiustare il tutto basta un attimo adattarsi alla situazione ed accettare di buon grado una proposta di un altro membro: è meglio faticare una mezz'ora in più piuttosto che dover lavorare dieci ore con qualcuno che non ti regge.
Gli imprevisti sono all'ordine del giorno, e arrivano nei momenti più inappropriati. È quasi una prassi che non vada più nulla a due ore dalla scadenza: in questi casi l'importante è avere un piano di backup. Ci sono problemi con le API? Nessun problema, usiamo dei JSON statici. La parte app non funziona come dovrebbe? Niente panico, un mockup interattivo farà la sua buona figura per il pitch.
Prenditi delle pause, a tempo o al raggiungimento di una milestone, vai in bagno, fumati una sigaretta, mangia uno snack. L'importante è staccare la spina un secondo. Adoro uscire in tarda nottata a fare due passi fuori, lasciando che la brezza del mattino ti rinfreschi le meningi ormai surriscaldate dopo tanto ed intessante lavoro.
Durante tutta la durata dell'evento ci saranno persone pronte ad aiutarvi, non aspettano altro che domande dai partecipanti. Raccogliete più informazioni possibili riguardo i pitch per essere sicuri di centrare l'obiettivo e spremete più possibile i provider delle tecnologie, magari riuscirete a trovare un aspetto poco ortodosso ed originale degli strumenti che potrebbe essere la chiave dell'intero progetto.
Non siate minimalisti: data l'origine incerta dell'hackathon il metodo più sicuro per avere gli strumenti giusti è portare più roba possibile. Caricate lo zaino da trekking con quanta più roba riuscite ad infilarci: cavi USB, LAN, HDMI e adattatori vari, prolunghe, ciabatte, multiprese, switch di rete, pinze, cacciaviti, chiavette USB, cuffie e quant'altro. Non dimenticatevi i beni per poter sopravvivere: sacco a pelo, coperta, eventualmente cuscino, dei vestiti di ricambio (soprattutto in estate), spazzolino e dentifricio, pettine e del sapone, non vorrete mica stendere gli avversari. Anche un po' di viveri non guastano, soprattutto porcherie ipercaloriche ed energy drink: magari non sono sani, ma almeno sollevano un po' il morale.
Ultima nota, non meno importante: l'hackathon è una competizione aperta a tutti, ho gareggiato contro ragazzini tredicenni (venendo sonoramente battuto tra l'altro) e contro manager aziendali già avviati, che all'apparenza non ci pigliavano in mezzo a tutta quella gente. Non c'è restrizione di età, ma neppure di skill: non importa che tu sia uno svilupatore alle prime armi oppure il nuovo Mitnick, l'importante è che la tua idea spacchi.
Se ancora non siete sicuri di partecipare ad un hackathon non esitate, che finisca nel bene e nel male è un'esperienza da provare. E se siete della zona potreste anche incontrarmi, perfino avere la sfiga di essere in team con me.