QA: Hackathon

QA: Hackathon

La parte finale della trilogia degli hackathon. IN la prima parte Ho parlato della motivazione per partecipare a tali eventi. Seconda parte era dedicato agli errori degli organizzatori e ai loro risultati. La parte finale risponderà alle domande che non rientravano nelle prime due parti.

Raccontaci come hai iniziato a partecipare agli hackathon.
Ho studiato per un master presso l'Università di Lappeenranta mentre risolvevo concorsi di analisi dei dati. La mia giornata tipo era così: alzata alle 8, qualche coppia all'università, poi gare e corsi fino a mezzanotte (mentre si contano le iscrizioni, guardo lezioni o leggo articoli). Un programma così rigido ha dato i suoi frutti e ho vinto il concorso di analisi dei dati MERC-2017 (di cui è stato anche discusso posta sull'hub). La vittoria mi ha dato fiducia e quando mi sono imbattuto per caso in informazioni sull'hackathon SkinHack 2 a Mosca, ho deciso di visitare i miei genitori e allo stesso tempo scoprire cos'è un hackathon.

L'hackathon stesso si è rivelato piuttosto divertente. C'erano due percorsi sull'analisi dei dati con metriche chiare e un set di dati con un premio in denaro di 100 rubli. Il terzo percorso riguardava lo sviluppo di app con un premio di 50 e non c'erano partecipanti. Ad un certo punto l'organizzatore ha detto che una finestra con un pulsante senza funzionalità avrebbe potuto vincere 50, perché il premio non poteva essere pagato. Non ho iniziato imparando a programmare applicazioni (non gareggio dove posso essere facilmente “girato”), ma per me è stato un messaggio chiaro che i campi degli hackathon non sono affollati.

Quindi ho risolto da solo entrambe le tracce di analisi dei dati. Ho trovato una perdita nei dati che mi ha permesso di ottenere la velocità ideale, ma la colonna con la perdita non era nei dati del test che ho ricevuto due ore prima della fine dell'evento (a proposito, poi ho capito che la presenza di una colonna “bersaglio” nel treno non conta come una perdita). Allo stesso tempo, la classifica si è aperta, la mia presentazione senza volto ha preso il terzo posto su cinque, c'era un grande divario rispetto alla prima e ho deciso di non perdere tempo e me ne sono andato.

Dopo aver analizzato con mente fresca quello che è successo, ho trovato un sacco di errori (una delle mie abitudini è scorrere mentalmente quello che è successo con il blocco note e analizzare gli errori, la loro causa e cosa avrebbe potuto essere cambiato - un'eredità così piacevole di un gioco di poker semiprofessionale). Ma una cosa era certa: gli hackathon hanno molto valore e dovevo semplicemente implementarlo. Dopo questo evento, ho iniziato a monitorare eventi e gruppi e il successivo hackathon non si è fatto attendere. Poi un altro, e un altro...

Perché stai facendo hackathon e non Kaglo?
Non mi piace Kagle in questo momento. A partire da un certo livello di abilità, senza ragioni specifiche di partecipazione, il kagle diventa meno utile di altre attività. Ho partecipato molto prima, a quanto pare sono riuscito in qualche modo a “scendere”.

Perché gli hackathon e non lavorare sul tuo progetto?
Mi piace l'idea di realizzare qualcosa di interessante con le mie mani a un ritmo lento. I ragazzi dell'ODS si sono organizzati Progetti per animali domestici ODS per tutti coloro che vogliono trascorrere il fine settimana lavorando al proprio progetto con persone che la pensano allo stesso modo. Penso che presto mi unirò a loro.

Come trovi gli eventi?
Fonte principale: hackathon.com (mondo) e chat di Telegram Hackers russi (Russia). Inoltre, gli annunci di eventi compaiono nella pubblicità sui social network e su LinkedIn. Se non trovi nulla, puoi guardare qui: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Prepari un piano di soluzione prima di partecipare o viene deciso tutto al volo? Ad esempio, una settimana prima dell'hackathon, pensi: "Avremo bisogno di questo o quell'altro specialista qui, dovremo cercarlo"?
Se l’hackathon è per il cibo, sì, mi sto preparando. Qualche settimana prima, decido cosa farò, chi potrebbe essere utile e metto insieme una squadra di amici o partecipanti agli hackathon precedenti.

È davvero possibile organizzare un hackathon da soli? Cosa fare se non c'è squadra?
Gli hackathon di data science sono reali (ne sono un esempio vivente), non ho visto hackathon di generi alimentari, anche se lo penso anch'io. Sfortunatamente, a volte gli organizzatori impongono un limite al numero minimo di partecipanti ad una squadra. Penso che ciò sia dovuto al fatto che non tutti i “solitari” arrivano in finale (cioè semplicemente se ne vanno con le prime difficoltà), la partecipazione in squadra è ancora frenata. Anche dopo l'evento, dovresti continuare a lavorare al progetto. Sarà più facile portare a compimento il progetto con un team.

In generale il mio consiglio è di partecipare sempre con una squadra. Se non hai una tua squadra, gli organizzatori ti aiuteranno sempre a trovarne o crearne una.

Come gestisci la fatica durante un hackathon?
All’hackathon ti vengono concessi 2 giorni per lavorare, ovvero 48 ore (30-48 ore, prendiamo 48 per facilità di conteggio). Togliamo il tempo per dormire (16-20 ore), lasciandone non più di 30. Di queste, 8 ore (in media) saranno effettivamente dedicate al lavoro produttivo. Se organizzi correttamente il tuo lavoro (sonno, alimentazione, uscita all'aria aperta, esercizi, minuti di consapevolezza, corretta comunicazione con il team e cambio di attività), le ore di lavoro profondo possono essere aumentate a 12-14. Dopo tale lavoro ti sentirai esausto, ma sarà una stanchezza piacevole. Programmare senza dormire e senza fare pause, interrotte da bevande energetiche, è una ricetta per il fallimento.

Disponi di pipeline già pronte per gli hackathon? Come li hai ottenuti, come sono organizzati (sono in cartelle con file .py, ciascuno per il proprio compito, ecc.) e come iniziare a crearli tu stesso?
Non utilizzo soluzioni completamente già pronte degli hackathon passati in quelli nuovi, ma ho il mio zoo di modelli e pipeline delle competizioni passate. Non devo riscrivere da zero parti standard (ad esempio, la codifica corretta del target o una semplice griglia per estrarre l'intento dal testo), il che mi fa risparmiare molto tempo.

Al momento sembra così: per ogni competizione o hackathon c'è il proprio repository su GitHub, memorizza quaderni, script e piccola documentazione su ciò che sta accadendo. Inoltre esiste un repository separato per tutti i tipi di "trucchi" in scatola (come la corretta codifica del target con convalida incrociata). Non penso che questa sia la soluzione più elegante, ma per ora mi va bene.

Inizierei salvando tutto il mio codice in cartelle e scrivendo una breve documentazione (perché, cosa, come l'ho fatto e il risultato).

È realistico preparare un MVP da zero in così poco tempo o tutti i partecipanti arrivano con soluzioni già pronte?
Posso solo dire dei progetti relativi alla scienza dei dati: sì, è possibile. MVP per me è una combinazione di due fattori:

  • Un'idea realizzabile presentata come prodotto (cioè dipinta su una tela aziendale). Dovrebbe esserci sempre una chiara comprensione del perché e per chi stiamo realizzando un prodotto. A volte i progetti con un design ben fondato, ma senza prototipo, vincono premi, e questo non sorprende. Purtroppo molti partecipanti non possono ignorare l’amarezza della sconfitta e attribuiscono i propri fallimenti alla miopia degli organizzatori, che continuano a creare modelli per qualcuno sconosciuto ai prossimi hackathon.
  • Alcuni indicatori che è possibile realizzare questo prodotto (applicazione, codice, descrizione delle condutture).

Succede che una squadra arriva a un hackathon con una soluzione già pronta e cerca di "adattarla" alle istruzioni degli organizzatori. Tali team vengono tagliati fuori durante lo screening tecnico oppure viene “contata” solo la parte che hanno svolto sul sito. Non ho visto squadre vincenti, ma penso che sia comunque redditizio per loro giocare a causa del valore futuro (contatti, set di dati, ecc.).

Esistono esempi di come portare l'artigianato implementato negli hackathon alla produzione/avvio?
SÌ. Ho avuto tre casi quando l'hanno portato in produzione. Una volta me stesso, due volte con le mani di qualcun altro, in base alle mie idee e al codice che ho scritto all'hackathon. Conosco anche un paio di team che hanno continuato a collaborare con l'azienda come consulenti. Non conosco il risultato finale, ma molto probabilmente qualcosa è stato portato a termine. Non ho organizzato startup personalmente e non so se qualcuno lo abbia fatto, anche se sono sicuro che ci siano esempi.

Dopo aver partecipato a tanti hackathon, che consiglio ti daresti se potessi tornare indietro nel tempo?

  1. Le tattiche sono più importanti delle manovre. Pensa a ogni soluzione come a un prodotto finito. Un’idea, un laptop Jupiter, un algoritmo non valgono nulla se non è chiaro chi ne pagherà le spese.
  2. Prima di progettare qualsiasi cosa, rispondi alla domanda non “cosa?”, ma “perché?” E come?". Esempio: quando si progetta una soluzione ML, pensare innanzitutto all'algoritmo ideale: cosa riceve come input, come vengono utilizzate le sue previsioni in futuro?
  3. Essere parte di una squadra.

Cosa danno di solito agli hackathon?
Di solito il cibo agli hackathon è scadente: pizza, bevande energetiche, bibite gassate. Quasi sempre il cibo è organizzato sotto forma di buffet (o tavolo di servizio) davanti al quale c'è una coda lunghissima. Di solito non forniscono cibo durante la notte, anche se in una competizione a Parigi si è verificato un caso in cui il cibo veniva lasciato durante la notte: patatine, ciambelle e cola. Immaginerò il processo di pensiero degli organizzatori: “Allora cosa mangiano i programmatori lì? Oh, esattamente! Patatine, ciambelle: tutto qui. Diamo loro questa spazzatura. Il giorno dopo ho chiesto agli organizzatori: “Ragazzi, è possibile fare qualcosa di diverso per la serata? Beh, magari un po' di porridge?" Dopodiché mi hanno guardato come se fossi un idiota. Famosa ospitalità francese.

Nei buoni hackathon, il cibo viene ordinato in scatole; c’è una divisione in pasti normali, vegetariani e kosher. Inoltre hanno messo un frigorifero con yogurt e muesli - per chi vuole fare uno spuntino. Tè, caffè, acqua - standard. Ricordo l'hackathon di Hack Mosca 2: mi hanno nutrito di cuore con borscht e cotolette con purè di patate nella mensa dell'ufficio 1C.

La sanità mentale degli hackathon dipende, per così dire, dalla sfera professionale degli organizzatori (ad esempio, i migliori hackathon sono condotti da consulenti)?
I migliori hackathon provenivano da organizzatori che avevano già organizzato hackathon o vi avevano partecipato in precedenza. Forse questo è l'unico fattore da cui dipende la qualità dell'evento.

Come capire che non sei un noob ed è ora di un hackathon?
Il momento migliore per andare a un hackathon è un anno fa. Il secondo momento migliore è adesso. Quindi provaci, commetti errori, impara: va bene. Persino una rete neurale - la più grande invenzione dell'uomo dopo la ruota e l'incremento della pendenza sugli alberi - non è in grado di distinguere un gatto da un cane nella prima fase di addestramento.

Quali “bandierine rosse” indicano immediatamente che l'evento non sarà dei migliori e che non è necessario perdere tempo?

  • Una descrizione chiara di ciò che deve essere fatto (rilevante per gli hackathon sui prodotti). Se durante la registrazione ti viene assegnato un compito chiaro, è meglio restare a casa. Nella mia memoria, non esisteva un solo buon hackathon con specifiche tecniche. Per fare un confronto: ok, facci qualcosa relativo all'analisi delle conversazioni audio. Cattivo: creaci un'applicazione in grado di dividere una conversazione in due tracce audio separate per ogni persona.
  • Piccolo montepremi. Se ti viene chiesto di realizzare “Tinder per un negozio online con AI” e il premio per il primo classificato è di 500 euro e un team minimo di 5 persone, probabilmente non vale la pena perdere tempo (sì, questo è un vero e proprio hackathon che è stato tenutosi a Monaco).
  • Mancanza di dati (rilevante per gli hackathon di data science). Gli organizzatori solitamente forniscono informazioni di base sull'evento e talvolta un set di dati di esempio. Se non te lo hanno fornito chiedi, non ti costerà nulla. Se entro 2-3 non è chiaro quali dati verranno forniti e se verranno forniti, si tratta di un segnale di allarme.
  • Nuovi organizzatori. Non essere pigro e cerca su Google informazioni sugli organizzatori dell'hackathon. Se è la prima volta che si organizza un evento di questo tipo, c'è un'alta probabilità che qualcosa vada storto. D'altra parte, se l'organizzatore e i membri della giuria hanno già organizzato hackathon o partecipato attivamente in passato, questa è una bandiera verde.

Ad un hackathon mi hanno detto: “Hai avuto la soluzione migliore in breve tempo, ma scusa, valutiamo il lavoro di squadra e tu hai lavorato da solo. Ora, se portassi nella tua squadra uno studente o una ragazza...”? Hai mai incontrato una simile ingiustizia? Come hai affrontato la situazione?
Sì, l'ho incontrato più di una volta. Sono stoico riguardo a tutto ciò che accade: ho fatto tutto ciò che era in mio potere, se non ha funzionato, così sia.

Perché stai facendo tutto questo?
Tutto questo è solo per noia.

Fonte: habr.com

Aggiungi un commento