
Parte finale della trilogia sui hackathon. In ho parlato della motivazione a partecipare a tali eventi. era dedicata agli errori degli organizzatori e ai loro risultati. La parte finale risponderà alle domande che non sono state incluse nelle prime due parti.
Raccontami come hai iniziato a partecipare agli hackathon.
Studiavo nella magistrale dell'Università di Lappeenranta, partecipando contemporaneamente a competizioni di analisi dei dati. La mia giornata tipica era così: sveglia alle 8, alcune lezioni all'università, poi competizioni e corsi fino a mezzanotte (mentre aspetta che il submit venga considerato, guardo lezioni o leggo articoli). Questo programma rigoroso ha dato i suoi frutti, e ho vinto la competizione di analisi dei dati MERC-2017 (di cui è persino stato ). La vittoria mi ha dato più fiducia in me stesso, e quando mi sono imbattuto casualmente in informazioni sul hackathon SkinHack 2 a Mosca, ho deciso di visitare i miei genitori e, nel frattempo, scoprire di cosa si trattava — un hackathon.
Сам хакатон получился довольно забавным. Было два трека по анализу данных с четкой метрикой и датасетом с призовыми по 100к рублей. Третий трек был по разработке приложений с призовым 50к, и в нем не было участников. В один момент организатор сказал, что окошко с кнопкой без функционала может выиграть 50к, потому что приз не может быть не выплачен. Я не стал учится программировать приложения (я не соревнуюсь там, где меня могут с легкостью “перевернуть”), но для меня это был четкий месседж что поля в хакатонах не забиты.
Тогда я решал оба трека по анализу данных один. Я нашел лик в данных, который позволял выбить идеальный скор, но столбца с ликом не было в тестовых данных, которые я получил за два часа до конца мероприятия (к слову, тогда я понимал что наличие колонки “target” в трейне не считается за лик). В то же время открылся лидерборд, мой сабмит без лика занимал третье место из пяти, до первого был большой отрыв и я решил не тратить время и уехал.
Dopo aver analizzato con calma cosa è successo, ho trovato molteplici errori (una delle mie abitudini è ripercorrere mentalmente gli eventi con un blocco note e analizzare gli errori, le loro cause e cosa avrebbe potuto essere cambiato — un piacevole retaggio della mia semi-professionale carriera nel poker). Ma una cosa era certa: i hackathon offrono un grande valore, e devo assolutamente sfruttarlo. Dopo questo evento, ho iniziato a monitorare gli eventi e i gruppi, e il successivo hackathon non ha tardato ad arrivare. Poi un altro, e un altro ancora...
Perché ti dedichi agli hackathon e non a Kaggle?
Al momento non mi interessa Kaggle. Da un certo livello di abilità, senza motivi specifici per partecipare, Kaggle diventa meno utile rispetto ad altre attività. Ho partecipato molto in passato, evidentemente sono riuscito a 'staccarmi' in qualche modo.
Perché gli hackathon e non lavorare al tuo progetto?
Mi piace l'idea di creare qualcosa di interessante con le mie mani, ma non in modo frenetico. I ragazzi di ODS hanno organizzato per tutti coloro che vogliono dedicarsi al proprio progetto in un ambiente di persone affini durante il fine settimana. Penso che a breve mi unirò a loro.
Come trovi gli eventi?
Fonte principale — hackathon.com (mondo) e chat su Telegram (Russia). Inoltre, gli annunci degli eventi passano anche attraverso la pubblicità sui social media e su LinkedIn. Se non trovi nulla, puoi controllare qui: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.
Prepari un piano di soluzione prima della partecipazione o tutto si decide all'ultimo momento? Ad esempio, una settimana prima dell'hackathon pensi: "Avremo bisogno di un tale e tale specialista, dobbiamo cercarlo"?
Se l'hackathon è orientato ai prodotti — sì, mi preparo. Diverse settimane prima, inizio a pensare a cosa farò, valutando chi potrebbe essere utile, e assemblo un team di amici o partecipanti di hackathon passati.
È possibile hackare un hackathon da solo? Cosa fare se non si ha un team?
I hackathon di data science sono reali (io ne sono un esempio vivente), per quanto riguarda quelli di prodotto — non ne ho visti, ma penso che ci siano. Purtroppo, a volte gli organizzatori pongono restrizioni sul numero minimo di partecipanti in un team. Credo che ciò derivi dal fatto che non tutti gli “individualisti” arrivano alla finale (ossia si ritirano alle prime difficoltà), mentre partecipare a un team offre un certo sostegno. Inoltre, dopo l'evento, si prevede che continuiate a lavorare sul progetto. Con un team sarà più facile portare a termine il progetto.
In generale, consiglio di partecipare sempre in gruppo. Se non avete un vostro team, gli organizzatori possono sempre aiutarvi a trovarne uno o a crearne uno.
Come riuscite a gestire la stanchezza durante un hackathon?
Hai 2 giorni per lavorare all'hackathon, il che corrisponde a 48 ore (prendiamo 48 per semplicità). Togli il tempo per dormire (16-20 ore), rimangono al massimo 30. Di queste, in media, solo 8 ore saranno effettivamente produttive. Se organizzi bene il lavoro (sonno, alimentazione, uscire all'aria aperta, esercizi, momenti di consapevolezza, comunicazione efficace con il team e cambi di attività), potrai raggiungere 12-14 ore di deep work. Dopo una simile esperienza, ti sentirai esausto, ma sarà una stanchezza piacevole. Programmare senza sonno e senza pause, consumando bevande energetiche, è un percorso verso il fallimento.
Hai delle pipeline pronte per gli hackathon? Come sono nate, come sono organizzate (i file .py sono suddivisi in cartelle, ognuno per il suo compito, ecc.) e come iniziare a crearne di tue?
Non utilizzo soluzioni completamente pronte di hackathon passati in nuovi progetti, ma ho il mio zoo di modelli e pipeline da precedenti competizioni. Non devo riscrivere parti standard da zero (ad esempio, un'adeguata target encoding o una semplice rete per l'estrazione delle intenzioni dal testo), il che mi fa risparmiare molto tempo.
Attualmente appare così: per ogni competizione o hackathon c'è un proprio repository su GitHub, dove vengono memorizzati notebook, script e una breve documentazione su ciò che sta accadendo. Inoltre, c'è un repository separato per vari 'trucchi' da utilizzare (come una corretta codifica target con cross-validation). Non penso sia la soluzione più elegante, ma per ora mi soddisfa.
Inizierei organizzando tutto il mio codice in cartelle e scrivendo una breve documentazione (perché, cosa, come ho fatto e il risultato).
È realistico preparare un MVP da zero in così poco tempo, o tutti i partecipanti arrivano con soluzioni pronte?
Posso parlare solo dei progetti legati al data science: sì, è possibile. Per me, l'MVP è una combinazione di due fattori:
- Un'idea valida presentata come prodotto (ossia un business canvas ben delineato). Deve sempre esserci una chiara comprensione del perché e per chi stiamo creando il prodotto. A volte i progetti con un'idea ben giustificata, ma senza prototipo, vincono premi, e non c'è nulla di sorprendente in questo. Sfortunatamente, molti partecipanti non riescono a distaccarsi dall'amarezza della sconfitta e attribuiscono le loro delusioni alla miopia degli organizzatori, continuando a creare modelli senza sapere per chi, nei prossimi hackathon.
- Un indicatore che possa dimostrare che si può realizzare questo prodotto (applicazione, codice, descrizione dei pipeline).
Ciò che accade è che un team arriva all'hackathon con una soluzione pronta e cerca di 'adeguarla' al compito fornito dagli organizzatori. Tali team vengono esclusi durante lo screening tecnico oppure viene 'considerata' solo la parte che hanno realizzato sul posto. Non ho mai visto questi team tra i vincitori, ma penso che sia comunque vantaggioso per loro partecipare a causa del valore futuro ().
Esistono esempi di progetti sviluppati durante hackathon che sono stati portati in produzione/startup?
Sì. Ho avuto tre casi in cui sono stati portati in produzione. Una volta da solo, due volte attraverso il lavoro di altri basato sulle mie idee e sul codice che ho scritto durante un hackathon. Conosco anche un paio di team che hanno continuato a collaborare con l'azienda come consulenti. Non so i risultati finali, ma probabilmente qualcosa è stato portato a termine. Non ho avviato startup e non so di qualcuno che lo abbia fatto, anche se sono sicuro che ci siano esempi.
Dopo aver partecipato a molti hackathon, quali consigli daresti a te stesso se potessi tornare indietro nel tempo?
- La tattica è più importante delle manovre. Immagina ogni decisione come un prodotto finito. L'idea, un notebook Jupiter, un algoritmo non valgono nulla se non è chiaro chi pagherà per esso.
- Prima di progettare qualsiasi cosa, rispondi alla domanda non “cosa?”, ma “perché?” e “come?”. Esempio: progettando una soluzione ML, pensa prima all'algoritmo ideale: cosa riceve in input e come vengono utilizzate le sue previsioni successivamente?
- Partecipa in un team.
Cosa di solito si mangia agli hackathon?
Di solito, ai hackathon il cibo non è ottimo: pizze, bevande energetiche, bibite. Quasi sempre il cibo è organizzato in forma di buffet (o tavolo da distribuzione) al quale si forma una lunga fila. Di notte di solito non si mangia, anche se c'è stata un'occasione in una competizione a Parigi quando hanno lasciato qualcosa da mangiare — patatine, ciambelle e cola. Immagino il processo mentale degli organizzatori: “Cosa mangiano gli sviluppatori? Ah, giusto! Patatine, ciambelle — ecco tutto. Mettiamo loro questa schifezza.” Il giorno dopo ho chiesto agli organizzatori: “Ragazzi, non si potrebbe fare qualcosa di diverso per la notte? Magari una zuppa?” Dopo di che mi hanno guardato come se fossi un idiota. La famosa ospitalità francese.
Nei buoni hackathon il cibo viene ordinato in box, con una suddivisione tra opzioni normali, vegetariane e kosher. Inoltre, mettono un frigorifero con yogurt e muesli — per chi vuole uno spuntino. Tè, caffè, acqua — standard. Ricordo con affetto l'hackathon Hack Moscow 2 — lì ci hanno deliziato con borscht e polpette di patate nel refettorio dell'ufficio 1C.
La validità degli hackathon dipende, per così dire, dal settore professionale degli organizzatori (ad esempio, i migliori hackathon sono organizzati da consulenti)?
I migliori hackathon sono stati organizzati da chi aveva già esperienza precedente, sia come organizzatori che come partecipanti. Forse questo è l'unico fattore che incide sulla qualità dell'evento.
Come capire che non sei un principiante e che è il momento giusto per partecipare a un hackathon?
Il momento migliore per partecipare a un hackathon era un anno fa. Il secondo miglior momento è adesso. Quindi, non esitare, sbaglia, impara: è normale. Anche una rete neurale — il più grande invento dell'umanità dopo la ruota e il gradiente boosting su alberi — non riesce a distinguere un gatto da un cane durante la prima fase di apprendimento.
Quali sono i 'segnali d'allerta' che indicano subito che l'evento non sarà molto valido e non vale la pena investire tempo?
- Una chiara descrizione di cosa sia necessario fare (valida per hackathon di prodotto). Se durante la registrazione viene data una missione chiara, allora è meglio restare a casa. Non ricordo un solo buon hackathon con un documento di sintesi chiaro. Per fare un confronto: Buono — fateci qualcosa legato all'analisi delle conversazioni audio. Scadente — realizzate un'applicazione in grado di separare la conversazione in due tracce audio distinte per ciascuna persona.
- Un piccolo montepremi. Se vi chiedono di creare “Tinder per negozi online con AI” e il premio per il primo posto è di 500 euro con un minimo di 5 persone nel team — probabilmente non vale la pena perdere tempo (sì, questo è un hackathon reale tenuto a Monaco).
- Mancanza di dati (valida per hackathon di data science). Gli organizzatori di solito forniscono le informazioni di base sull'evento e a volte un campione del dataset. Se non lo fanno, chiedete; non perdi niente. Se dopo 2-3 richieste non è chiaro quali dati saranno forniti e se saranno forniti — questo è un campanello d'allarme.
- Nuovi organizzatori. Non fare lo svogliato e cerca informazioni sugli organizzatori del hackathon. Se è la loro prima volta che organizzano un evento di questo tipo, è probabile che qualcosa vada storto. D'altra parte, se l'organizzatore e i membri della giuria hanno già organizzato hackathon o hanno partecipato attivamente in passato, questo è un segnale positivo.
A un hackathon mi hanno detto: «Hai avuto la migliore soluzione, ma scusa, qui si valuta il lavoro di squadra, e tu hai lavorato da solo. Se solo avessi portato con te uno studente o una ragazza…». Hai mai vissuto un'ingiustizia simile? Come l'hai affrontata?
Sì, l'ho incontrata più di una volta. Affronto tutto con stoicismo: ho fatto tutto ciò che era nelle mie possibilità, se non ha funzionato, allora va così.
Perché ti occupi di tutto questo?
Lo faccio semplicemente per noia.
Fonte: habr.com
