Perché dovresti partecipare agli hackathon

Perché dovresti partecipare agli hackathon

Circa un anno e mezzo fa ho iniziato a partecipare agli hackathon. Durante questo periodo sono riuscito a prendere parte a più di 20 eventi di varie dimensioni e temi a Mosca, Helsinki, Berlino, Monaco, Amsterdam, Zurigo e Parigi. In tutte le attività, sono stato coinvolto nell'analisi dei dati in una forma o nell'altra. Mi piace venire in nuove città, stabilire nuovi contatti, trovare nuove idee, implementare vecchie idee in un breve periodo di tempo e la scarica di adrenalina durante lo spettacolo e l'annuncio dei risultati.

Questo post è il primo di tre post sul tema degli hackathon, in cui ti dirò cosa sono gli hackathon e perché dovresti iniziare a partecipare agli hackathon. Il secondo post riguarderà il lato oscuro di questi eventi: come gli organizzatori hanno commesso errori durante l'evento e a cosa hanno portato. Il terzo post sarà dedicato a rispondere alle domande sugli argomenti relativi all'hackathon.

Cos'è un hackathon?

Un hackathon è un evento che si svolge nell'arco di più giorni, il cui obiettivo è risolvere un problema. Di solito ci sono diversi problemi durante un hackathon, ciascuno presentato come un percorso separato. L'azienda sponsor fornisce una descrizione dell'attività, le metriche di successo (le metriche possono essere soggettive come "novità e creatività", oppure possono essere oggettive - accuratezza della classificazione su un set di dati differito) e risorse per raggiungere il successo (API aziendali, set di dati, hardware) . I partecipanti dovranno formulare un problema, proporre una soluzione e mostrare un prototipo del proprio prodotto entro il tempo assegnato. Le migliori soluzioni ricevono premi dall'azienda e l'opportunità di ulteriore collaborazione.

Le fasi dell'Hackathon

Dopo l'annuncio dei compiti, i partecipanti all'hackathon si uniscono in squadre: ogni "solitario" riceve un microfono e parla del compito scelto, della sua esperienza, dell'idea e del tipo di specialisti di cui ha bisogno per l'implementazione. A volte un team può essere composto da una persona che è in grado di completare tutto il lavoro sul progetto in modo indipendente ad un livello abbastanza elevato. Ciò è rilevante per gli hackathon sull'analisi dei dati, ma è spesso proibito o indesiderabile per gli eventi sui prodotti: gli organizzatori mirano a continuare ulteriormente il lavoro sul progetto, ma già in azienda; il team formato presenta una serie di vantaggi rispetto ai partecipanti che desideravano creare il prodotto da soli. Il team ottimale è solitamente composto da 4 persone e comprende: front-end, back-end, data scientist e business person. A proposito, la divisione tra datascience e hackathon di prodotto è abbastanza semplice: se esiste un set di dati con metriche chiare e una classifica, oppure puoi vincere con il codice nel notebook Jupyter, questo è un hackathon di datascience; tutto il resto - dove è necessario creare un'applicazione, un sito Web o qualcosa di appiccicoso - drogheria.

In genere, il lavoro su un progetto inizia alle 9:10 del venerdì e la scadenza è alle XNUMX:XNUMX della domenica. Una parte di questo tempo deve essere spesa dormendo (restare svegli e programmare è una ricetta per il fallimento, ho controllato), il che significa che i partecipanti non hanno molto tempo per produrre qualcosa di qualità. Per aiutare i partecipanti, sul sito sono presenti rappresentanti e tutor aziendali.

Il lavoro su un progetto inizia con la comunicazione con i rappresentanti dell'azienda, poiché comprendono meglio le specifiche dell'attività, le metriche e molto probabilmente alla fine giudicheranno il tuo lavoro. Lo scopo di questa comunicazione è capire quali aree sono più rilevanti e dove dovresti concentrare la tua attenzione e il tuo tempo.

Durante un hackathon, il compito era quello di eseguire una regressione su un set di dati con dati e immagini tabulari e una metrica chiara: RMSE. Dopo aver parlato con il data scientist dell'azienda, mi sono reso conto che non avevano bisogno di regressione, ma di classificazione, ma qualcuno del management ha semplicemente deciso che era meglio risolvere il problema in questo modo. E hanno bisogno della classificazione non per ottenere un aumento dei parametri monetari, ma per capire quali parametri sono più importanti quando si prende una decisione e poi elaborarli manualmente. Cioè, il problema iniziale (regressione con RMSE) viene cambiato in classificazione; La priorità della valutazione cambia dall'accuratezza ottenuta alla capacità di spiegare il risultato. Ciò, a sua volta, elimina la possibilità di utilizzare algoritmi di stacking e scatola nera. Questo dialogo mi ha fatto risparmiare molto tempo e ha aumentato le mie possibilità di vincita.

Dopo aver capito cosa devi fare, inizia il lavoro vero e proprio sul progetto. È necessario impostare dei checkpoint: il tempo entro il quale le attività assegnate devono essere completate; Lungo il percorso, è una buona idea continuare a comunicare con i mentori - rappresentanti dell'azienda e specialisti tecnici - questo è utile per adattare il percorso del tuo progetto. Uno sguardo nuovo a un problema può suggerire una soluzione interessante.

Dato che agli hackathon partecipa un gran numero di principianti, è buona norma da parte degli organizzatori tenere lezioni e masterclass. Di solito ci sono tre lezioni: su come presentare la tua idea come prodotto, una lezione su argomenti tecnici (ad esempio, sull'uso di API aperte nell'apprendimento automatico, in modo da non dover scrivere il tuo discorso2testo in due giorni, ma usane uno già pronto), una lezione sul pitching (come presentare il tuo prodotto, come agitare correttamente le braccia sul palco in modo che il pubblico non si annoi). Ci sono varie attività per rinvigorire i partecipanti: una sessione di yoga, calcio balilla e tennis, o un gioco con la console.

Domenica mattina devi presentare i risultati del tuo lavoro alla giuria. Nei buoni hackathon, tutto inizia con la competenza tecnica: ciò che affermi funziona davvero? Lo scopo di questo controllo è quello di eliminare i team con una bella presentazione e parole d'ordine, ma senza un prodotto, dai ragazzi che hanno effettivamente fatto qualcosa. Sfortunatamente, la competenza tecnica non è presente in tutti gli hackathon, e ci sono casi in cui una squadra con 12 diapositive e la mentalità "... blockchain, calcolo quantistico e poi l'intelligenza artificiale finirà tutto..." vince il primo posto. Tali precedenti non sono così comuni, ma poiché sono i più memorabili, molte persone pensano che una buona presentazione rappresenti il ​​99% della vittoria in un hackathon. La presentazione, tra l'altro, è davvero importante, ma il suo contributo non supera il 30%.

Dopo le esibizioni dei partecipanti, la giuria decide di premiare i vincitori. Si conclude così la parte ufficiale dell'hackathon.

Motivazione a partecipare agli hackathon

Опыт

In termini di esperienza maturata, l’hackathon è un evento unico. Non ci sono molti posti in natura in cui puoi realizzare un'idea dal nulla in 2 giorni e ottenere un feedback immediato sul tuo lavoro. Durante l'hackathon vengono migliorati il ​​pensiero critico, le capacità di lavoro di squadra, la gestione del tempo, la capacità di lavorare in una situazione stressante, la capacità di presentare i risultati del proprio lavoro in una forma comprensibile, le capacità di presentazione e molti altri. Questo è il motivo per cui gli hackathon sono il luogo ideale per persone con conoscenze teoriche che desiderano acquisire esperienza nel mondo reale.

Premi

In genere, il montepremi dell'hackathon è di circa 1.5 - 10 euro per il primo posto (in Russia: 100-300 mila rubli). Il beneficio atteso (valore atteso, EV) dalla partecipazione può essere calcolato utilizzando una semplice formula:

EV = Prize * WinRate + Future_Value - Costs

dove Premio — l'entità del premio (per semplicità supponiamo che sia previsto un solo premio);
Vincita — probabilità di vincita (per una squadra principiante questo valore sarà limitato al 10%, per una squadra più esperta - 50% e oltre; ho incontrato persone che hanno lasciato ogni hackathon con un premio, ma questa è piuttosto un'eccezione alla regola e nel lungo termine il loro tasso di vincita sarà inferiore al 100%);
Valore futuro - un valore che mostra il profitto futuro derivante dalla partecipazione a un hackathon: può essere un profitto dall'esperienza acquisita, dalle connessioni stabilite, dalle informazioni ricevute, ecc. Questo valore è quasi impossibile da determinare con precisione, ma deve essere ricordato;
Costi — spese di trasporto, alloggio, ecc.

La decisione di partecipare viene presa sulla base del confronto tra l'EV dell'hackathon e l'EV dell'attività che vorresti svolgere se non ci fosse l'hackathon: se nel fine settimana volessi sdraiarti sul divano e metterti le dita nel naso, allora probabilmente dovresti partecipare all'hackathon; se trascorri del tempo con i tuoi genitori o la tua ragazza, portali in una squadra per un hackathon (sto scherzando, decidi tu stesso), se sei un freelance, confronta il dollaro all'ora.

Secondo i miei calcoli, posso dire che in Russia, per il data scientist medio di livello medio-junior, la partecipazione agli hackathon è commisurata al profitto monetario di una normale giornata lavorativa, ma ci sono anche delle sfumature (dimensione del team, tipo di hackathon, montepremi, ecc.). In generale, gli hackathon non sono una miniera d'oro al momento, ma possono fornire una bella spinta al tuo budget personale.

Reclutamento e networking aziendale

Per un'azienda, un hackathon è uno dei modi per assumere nuovi dipendenti. Sarà molto più facile per te dimostrare di essere una persona adeguata e di saper lavorare durante un hackathon che durante un colloquio, facendo roteare un albero binario sul tabellone (che, tra l'altro, non sempre corrisponde a ciò che vorresti fare un vero lavoro da data scientist, ma le tradizioni vanno rispettate). Tale test in condizioni di “combattimento” può sostituire una giornata di test.

Ho ottenuto il mio primo lavoro grazie a un hackathon. All'hackathon ho dimostrato che è possibile spremere più soldi dai dati e ho spiegato come avrei fatto. Ho avviato un progetto durante un hackathon, l'ho vinto, quindi ho continuato il progetto con l'azienda sponsor. Questo è stato il quarto hackathon della mia vita.

Opportunità di ottenere un set di dati unico

Questo è un punto molto rilevante per gli hackathon di data science, la cui importanza non tutti comprendono. In genere, le aziende sponsor forniscono set di dati reali durante l'evento. Questi dati sono privati, sono soggetti a NDA, il che non ci impedisce di mostrarvi la prova di concetto su un set di dati reale e non su un Titanic giocattolo. In futuro, tali risultati saranno di grande aiuto quando si farà domanda per un impiego in questa azienda o in un'azienda concorrente o per giustificare progetti simili. Concordo sul fatto che, a parità di altre condizioni, aver completato progetti valutati positivamente è meglio che non averli. In generale, questi progetti completati svolgono un ruolo simile alle medaglie e agli status, ma per l'industria il loro valore è più evidente.

Suggerimenti

In generale, lavorare ad un hackathon è un'esperienza piuttosto diversificata ed è difficile formulare un elenco di regole. Tuttavia, qui vorrei fornire un elenco di osservazioni che possono aiutare un principiante:

  1. Non aver paura di partecipare agli hackathon anche se non hai esperienza o un team. Pensa a come potresti essere utile. Ad esempio, forse hai un'idea interessante o sei esperto in qualche settore? Puoi utilizzare la tua conoscenza del dominio quando formuli un problema e trovi soluzioni non banali. O forse sei il migliore su Google? La tua abilità farà risparmiare molto tempo se riesci a trovare implementazioni già pronte in Github. Oppure sei molto bravo a regolare i parametri lightgbm? In questo caso, non andare all’hackathon, ma dimostralo nella competizione Kagla.
  2. Le tattiche sono più importanti delle manovre. Il tuo obiettivo all'hackathon è risolvere un problema. A volte, per risolvere un problema, è necessario identificarlo. Verifica che il problema identificato sia realmente rilevante per l'azienda. Confronta la tua soluzione con il problema, chiediti se la tua soluzione è ottimale. Nel valutare la tua soluzione, esamineranno innanzitutto la rilevanza del problema e l'adeguatezza della soluzione proposta. Poche persone sono interessate all'architettura della tua rete neurale o a quante mani hai ricevuto.
  3. Partecipa al maggior numero possibile di hackathon, ma non essere timido nell'allontanarti da eventi mal organizzati.
  4. Aggiungi i risultati del tuo lavoro all'hackathon al tuo curriculum e non aver paura di scriverne pubblicamente.

Perché dovresti partecipare agli hackathon
L'essenza degli hackathon. Brevemente

Fonte: habr.com

Aggiungi un commento