Perché dovreste partecipare agli hackathon

Perché dovreste partecipare agli hackathon

Circa un anno e mezzo fa ho iniziato a partecipare a hackathon. Durante questo periodo ho avuto l'opportunità di partecipare a più di 20 eventi di diverse dimensioni e tematiche a Mosca, Helsinki, Berlino, Monaco, Amsterdam, Zurigo e Parigi. In tutti gli eventi mi sono dedicato all'analisi dei dati in una forma o nell'altra. Mi piace visitare nuove città, stabilire nuovi contatti, inventare idee fresche, realizzare vecchi progetti in un breve lasso di tempo e provare adrenalina durante le presentazioni e l'annuncio dei risultati.

Questo post è il primo di tre post a tema hackathon, in cui parlerò di cosa sono gli hackathon, perché dovresti iniziare a partecipare a questi eventi. Il secondo post tratterà il lato oscuro di questi eventi: gli errori commessi dagli organizzatori e le conseguenze che hanno avuto. Il terzo post sarà dedicato alle risposte alle domande sulla tematica degli hackathon.

Cosa è un hackathon?

Un hackathon è un evento che si svolge nell'arco di alcuni giorni, il cui obiettivo è risolvere un problema specifico. Di solito ci sono diversi problemi in un hackathon, ciascuno presentato come un diverso track. L'azienda sponsor fornisce una descrizione del compito, metriche di successo (le metriche possono essere soggettive come “novità e creatività”, oppure oggettive — come la precisione di classificazione su un set di dati di test) e risorse per raggiungere il successo (API dell'azienda, set di dati, “hardware”). I partecipanti devono formulare un problema, proporre una soluzione e presentare un prototipo del loro prodotto entro il tempo assegnato. Le migliori soluzioni ricevono premi dall'azienda e la possibilità di una collaborazione futura.

Fasi di un hackathon

Dopo la presentazione delle sfide, i partecipanti al hackathon si uniscono in squadre: ogni "singolo" riceve un microfono e parla della sfida scelta, della propria esperienza, dell'idea e delle competenze di cui ha bisogno per realizzarla. A volte, una squadra può consistere in una sola persona, capace di completare tutto il lavoro sul progetto in modo autonomo e a un livello sufficientemente alto. Questo è pertinente per gli hackathon di analisi dei dati, ma spesso è vietato o indesiderato per eventi di prodotto: gli organizzatori mirano a continuare il lavoro sul progetto, ma già in azienda; una squadra formata ha diversi vantaggi rispetto ai partecipanti che desiderano creare un prodotto da soli. Una squadra ottimale di solito è composta da 4 persone e include: frontend, backend, data scientist e persona di business. Da notare che la distinzione tra hackathon di data science e hackathon di prodotto è piuttosto semplice: se c'è un dataset con metriche chiare e una leaderboard o si può vincere con codice in un notebook Jupyter, si tratta di un hackathon di data science; tutto il resto, dove è necessario creare un'applicazione, un sito web o qualcosa di coinvolgente, è un hackathon di prodotto.

Di solito, l'inizio dei lavori su un progetto avviene alle 9 di sera di venerdì, mentre la scadenza è alle 10 di domenica mattina. Parte di questo tempo deve essere dedicata al sonno (non dormire e codificare è un sicuro sentiero verso il fallimento, ho verificato), il che significa che i partecipanti non hanno molto tempo per fare qualcosa di qualitativo. Per aiutare i partecipanti, sul luogo sono presenti rappresentanti dell'azienda e mentori.

Il lavoro sul progetto inizia con una comunicazione con i rappresentanti dell'azienda, poiché loro comprendono meglio la specificità della sfida, le metriche e probabilmente saranno loro a giudicare i vostri lavori alla fine. L'obiettivo di questa comunicazione è capire quali direzioni sono più attuali e su cosa vale la pena concentrare la propria attenzione e il proprio tempo.

In un hackathon è stato posto un compito di regressione su un dataset con dati tabulari e immagini e una metrica chiara: RMSE. Dopo aver parlato con il data scientist dell'azienda, ho capito che avevano bisogno non di regressione, ma di classificazione, ma qualcuno nel management ha deciso che il compito fosse meglio risolverlo in quel modo. E la classificazione non è necessaria per ottenere un aumento delle metriche monetarie, ma per capire quali parametri sono più importanti nella presa di decisione e poi elaborarli manualmente. Quindi il compito iniziale (regressione con RMSE) cambia in classificazione; la priorità della valutazione passa dalla precisione ottenuta alla possibilità di spiegare il risultato. Questo, a sua volta, esclude la possibilità di utilizzare stacking e algoritmi black box. Questo dialogo mi ha fatto risparmiare un sacco di tempo e ha aumentato le mie possibilità di vittoria.

Dopo aver compreso cosa bisogna fare, inizia il lavoro vero e proprio sul progetto. Dovete stabilire dei checkpoint: il tempo entro il quale devono essere completati i compiti assegnati; nel frattempo, continuare a comunicare con i mentori—rappresentanti dell'azienda e specialisti tecnici—è utile per correggere il percorso del vostro progetto. Uno sguardo fresco sul problema può suggerire una soluzione interessante.

Poiché in hackathon partecipano molte persone alle prime armi, da parte degli organizzatori è buona norma tenere lezioni e workshop. Di solito ci sono tre lezioni: su come presentare la propria idea come un prodotto, una lezione su un argomento tecnico (per esempio sull'uso delle API aperte nel machine learning, così da non dover scrivere il proprio speech2text in due giorni, ma di utilizzarne uno già pronto), e una lezione sul pitching (come presentare il proprio prodotto, come muovere le mani sul palco in modo che il pubblico non si annoi). Ci sono diverse attività per rinfrescare i partecipanti: sessioni di yoga, calcetto e tennis da tavolo o giochi alla console.

La mattina della domenica dovrete presentare i risultati del vostro lavoro alla giuria. Nei buoni hackathon tutto inizia con la verifica tecnica: ciò che affermate funziona davvero? L'obiettivo di questo controllo è quello di escludere i team con belle presentazioni e buzzwords, ma senza un prodotto, da quelli che hanno realmente fatto qualcosa. Purtroppo, la verifica tecnica non è presente in tutti gli hackathon e ci sono casi in cui un team con 12 slide e un mindset “... blockchain, calcolo quantistico, e qui l'IA si occupa del resto...” vince il primo posto. Questi precedenti non sono così comuni, ma poiché si ricordano meglio, molti pensano che una buona presentazione sia il 99% della vittoria in un hackathon. La presentazione, a proposito, è davvero importante, ma il suo contributo non supera il 30%.

Dopo la presentazione dei partecipanti, la giuria prende una decisione riguardo alla premiazione dei vincitori. Con ciò, la parte ufficiale dell'hackathon è conclusa.

Motivazione per partecipare agli hackathon

Esperienza

Dal punto di vista dell'esperienza acquisita, un hackathon è un evento unico. Esistono pochi luoghi dove poter realizzare un'idea dal nulla in 2 giorni e ricevere un feedback immediato sul proprio lavoro. Durante l'hackathon si sviluppano il pensiero critico, la capacità di lavorare in team, la gestione del tempo, la capacità di lavorare sotto stress, l'abilità di presentare i risultati del proprio lavoro in modo chiaro, la competenza nelle presentazioni e molte altre. È proprio per questo motivo che gli hackathon sono un ottimo posto per le persone con conoscenze teoriche che vogliono acquisire esperienza pratica.

Premi

Di solito, il montepremi di un hackathon è di circa 1,5k - 10k euro per il primo posto (in Russia - 100-300 mila rubli). Il valore atteso (expected value, EV) della partecipazione può essere calcolato con una semplice formula:

EV = Premio * Probabilità di Vincita + Valore Futuro - Costi

dove Premio — l'importo del premio (per semplicità considereremo che ci sia un solo premio);
Probabilità di Vincita — la probabilità di vincita (per un team alle prime armi questo valore sarà al massimo del 10%, per un team più esperto sarà del 50% o più; ho incontrato persone che tornavano da ogni hackathon con un premio, ma questo è più un'eccezione alla regola e, a lungo termine, il loro tasso di vincita sarà inferiore al 100%);
Valore Futuro — una misura che mostra il futuro profitto derivante dalla partecipazione a un hackathon: questo può essere il profitto dall'esperienza acquisita, contatti stabiliti, informazioni ricevute, ecc. È praticamente impossibile determinare questa misura con esattezza, ma è importante tenerne conto;
Costi — spese per trasporti, vitto, altro.

La decisione di partecipare si basa sul confronto tra l'EV dell'hackathon e l'EV dell'attività che avresti voluto fare se l'hackathon non ci fosse stato: se volevi passare il fine settimana sul divano a grattarti il naso, allora probabilmente vale la pena partecipare all'hackathon; se volevi trascorrere del tempo con i genitori o con la ragazza — portali nel team per l'hackathon (sto scherzando, decidete voi), se volevi fare freelance — confronta dollaro-ora.

Secondo i miei calcoli, posso dire che in Russia per un data scientist medio di livello junior - mid, partecipare a hackathon è paragonabile al guadagno di una giornata lavorativa normale, ma ci sono anche delle sfide (dimensione del team, tipo di hackathon, montepremi, ecc.). In generale, al momento gli hackathon non sono un'agenzia d'oro, ma possono offrire un piacevole incremento al budget personale.

Assunzione in azienda e networking

Per l'azienda, l'hackathon è uno dei modi per assumere nuovi dipendenti. Ti sarà molto più facile dimostrare di essere una persona valida e di saper lavorare durante un hackathon, piuttosto che in un colloquio, disegnando un albero binario sulla lavagna (cosa che, tra l'altro, non corrisponde sempre a quello che farai realmente come data scientist, ma le tradizioni devono essere rispettate). Un simile controllo in condizioni “realistiche” può sostituire un giorno di test.

Ho ottenuto il mio primo lavoro grazie a un hackathon. Durante l'hackathon ho dimostrato che dai dati si possono ricavare più profitti, ho raccontato come intendevo farlo. Ho avviato un progetto all'hackathon, l'ho vinto, poi ho continuato il progetto già nell'azienda sponsor. Questo è stato il quarto hackathon della mia vita.

Opportunità di ottenere un dataset unico

Questo è un punto molto rilevante per i hackathon di data science, la cui importanza non è compresa da tutti. Di solito, le aziende sponsor forniscono dataset reali durante l'evento. Questi dati sono privati, sono soggetti a NDA, il che non impedisce di mostrarvi un proof of concept su un dataset reale, invece che su un giocattolo Titanic. In seguito, risultati simili aiuteranno notevolmente nella ricerca di un lavoro in questa azienda o in una concorrente o nella giustificazione di progetti simili. Concordate che, a parità di condizioni, avere progetti completati, valutati positivamente, è meglio che non averne affatto? In generale, progetti realizzati simili giocano un ruolo simile a medaglie e status su Kaggle, ma per l'industria il loro valore è più evidente.

Consigli

In generale, lavorare a un hackathon è un'esperienza piuttosto variegata e difficile da riassumere in un elenco di regole. Tuttavia, qui vorrei fornire un elenco di osservazioni che possono aiutare i principianti:

  1. Non abbiate paura di partecipare a hackathon anche se non avete esperienza o una squadra. Pensate a come potreste essere utili. Ad esempio, avete un'idea interessante o siete esperti in un certo campo? Potete usare la vostra conoscenza del settore per formulare un problema e trovare soluzioni non banali. O forse siete bravi a cercare su Google? La vostra abilità potrebbe farvi risparmiare molto tempo, se riuscite a trovare implementazioni già pronte su GitHub. O siete molto bravi nel tuning dei parametri di LightGBM? In tal caso, non andate all'hackathon, ma dimostratelo in competizioni su Kaggle.
  2. La tattica è più importante delle manovre. Il vostro obiettivo all'hackathon è risolvere un problema. A volte, per risolvere un problema, è necessario prima identificarlo. Verificate che il problema identificato sia realmente rilevante per l'azienda. Controllate la corrispondenza della vostra soluzione rispetto al problema, ponetevi la domanda sull'ottimalità della vostra soluzione. Nella valutazione della vostra soluzione, si osserverà in primo luogo la rilevanza del problema e l'adeguatezza della soluzione proposta. L'architettura della vostra rete neurale o quante mani di asta avete ricevuto interessa poco a qualcuno.
  3. Partecipate a quanti più hackathon possibile, ma non esitate ad andarvene da eventi mal organizzati.
  4. Aggiungi i risultati del tuo lavoro nel hackathon al tuo curriculum e non avere paura di parlarne pubblicamente.

Perché dovreste partecipare agli hackathon
La realtà degli hackathon. In breve

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster