Zakaj bi morali sodelovati v hackathonih

Zakaj bi morali sodelovati v hackathonih

Pred približno letom in pol sem se začel udeleževati hackathonov. V tem času se mi je uspelo udeležiti več kot 20 dogodkov različnih velikosti in tematik v Moskvi, Helsinkih, Berlinu, Münchnu, Amsterdamu, Zürichu in Parizu. Pri vseh aktivnostih sem se tako ali drugače ukvarjal z analizo podatkov. Rad prihajam v nova mesta, navezujem nove stike, prihajam s svežimi idejami, uresničujem stare ideje v kratkem času in adrenalin med nastopom in razglasitvijo rezultatov.

Ta objava je prva od treh objav na temo hackathonov, v kateri vam bom povedal, kaj so hackathoni in zakaj bi se morali začeti udeleževati hackathonov. Drugi prispevek pa bo o temni plati teh dogodkov – o tem, kako so organizatorji delali napake med dogodkom in do česa so te pripeljale. Tretja objava bo namenjena odgovarjanju na vprašanja o temah, povezanih s hackathonom.

Kaj je hackathon?

Hackathon je večdnevni dogodek, katerega cilj je rešiti problem. Običajno je na hackathonu več težav, vsaka je predstavljena kot ločena proga. Sponzorsko podjetje zagotovi opis naloge, meritve uspeha (metrike so lahko subjektivne, kot so »novost in ustvarjalnost«, lahko pa so objektivne – natančnost klasifikacije na odloženem naboru podatkov) in vire za doseganje uspeha (API-ji podjetja, nabori podatkov, strojna oprema) . Udeleženci morajo v predvidenem času oblikovati problem, predlagati rešitev in pokazati prototip svojega izdelka. Najboljše rešitve prejmejo nagrade podjetja in možnost nadaljnjega sodelovanja.

Etape hackathona

Po razglasitvi nalog se udeleženci hackathona združijo v ekipe: vsak »samotar« prejme mikrofon in spregovori o izbrani nalogi, svojih izkušnjah, ideji in kakšne strokovnjake potrebuje za izvedbo. Včasih lahko ekipo sestavlja ena oseba, ki je sposobna samostojno opraviti vse delo na projektu na dokaj visoki ravni. To je pomembno za hackathone o analizi podatkov, vendar je pogosto prepovedano ali nezaželeno za produktne dogodke - organizatorji so usmerjeni v nadaljnje nadaljevanje dela na projektu, vendar že v podjetju; sestavljena ekipa ima vrsto prednosti pred udeleženci, ki so želeli izdelek ustvariti sami. Optimalno ekipo običajno sestavljajo 4 osebe in vključuje: front-end, back-end, podatkovnega znanstvenika in poslovneža. Mimogrede, delitev med datascience in produktnimi hackathoni je precej preprosta – če obstaja nabor podatkov z jasnimi metrikami in lestvico najboljših ali pa lahko zmagate s kodo v jupyter notebooku – je to datascience hackathon; vse ostalo - kjer je treba narediti aplikacijo, spletno stran ali kaj lepljivega - špecerija.

Običajno se delo na projektu začne v petek ob 9. uri, rok pa je v nedeljo ob 10. uri. Nekaj ​​tega časa je treba porabiti za spanje (preveril sem, da sta budnost in kodiranje recept za neuspeh), kar pomeni, da udeleženci nimajo veliko časa, da bi proizvedli kaj kakovostnega. V pomoč udeležencem so na strani prisotni predstavniki podjetij in mentorji.

Delo na projektu se začne s komunikacijo s predstavniki podjetja, saj ti bolje razumejo specifiko naloge, metrike in bodo najverjetneje na koncu ocenili vaše delo. Namen te komunikacije je razumeti, katera področja so najbolj pomembna in kam bi morali usmeriti svojo pozornost in čas.

Na enem hackathonu je bila zastavljena naloga izvesti regresijo na naboru podatkov s tabelarnimi podatki in slikami ter jasno metriko - RMSE. Po pogovoru s podatkovnim znanstvenikom v podjetju sem ugotovil, da ne potrebujejo regresije, ampak klasifikacijo, vendar se je nekdo iz vodstva preprosto odločil, da je najbolje tako rešiti problem. In ne potrebujejo klasifikacije, da bi dobili povečanje denarnih meritev, ampak zato, da bi razumeli, kateri parametri so najpomembnejši pri odločanju, in jih nato obdelali ročno. To pomeni, da se začetni problem (regresija z RMSE) spremeni v klasifikacijo; Prednost ocenjevanja se spremeni od dosežene natančnosti do zmožnosti razlage rezultata. To pa odpravlja možnost uporabe algoritmov zlaganja in črne skrinjice. Ta dialog mi je prihranil veliko časa in povečal moje možnosti za zmago.

Ko razumete, kaj morate narediti, se začne dejansko delo na projektu. Določiti morate kontrolne točke – čas, do katerega morajo biti dodeljene naloge opravljene; Na tej poti je dobro nadaljevati komunikacijo z mentorji - predstavniki podjetij in tehničnimi strokovnjaki - to je koristno za prilagoditev poti vašega projekta. Nov pogled na problem lahko predlaga zanimivo rešitev.

Ker se hackathonov udeležuje veliko število začetnikov, je dobra praksa organizatorjev, da izvajajo predavanja in mojstrske tečaje. Običajno gre za tri predavanja – o tem, kako svojo idejo predstaviti kot produkt, predavanje o tehničnih temah (npr. o uporabi odprtih API-jev v strojnem učenju, da vam govora2besedila ne bo treba pisati v dveh dneh, ampak uporabite že pripravljeno), predavanje o pitchingu (kako predstaviti svoj izdelek, kako pravilno mahati z rokami na odru, da se občinstvo ne dolgočasi). Za poživitev udeležencev so na voljo različne aktivnosti - joga, namizni nogomet in tenis ali igra na konzoli.

V nedeljo zjutraj morate rezultate svojega dela predstaviti žiriji. Na dobrih hackathonih se vse začne s tehničnim znanjem – ali to, kar trdite, res deluje? Namen tega preverjanja je izločiti ekipe z lepo predstavitvijo in floskulami, vendar brez produkta, od fantov, ki so dejansko nekaj naredili. Na žalost tehnična ekspertiza ni prisotna na vseh hackathonih in obstajajo primeri, ko ekipa z 12 diapozitivi in ​​miselnostjo »... blockchain, kvantno računalništvo, potem pa bo AI dokončal ...« osvoji prvo mesto. Takšni precedensi niso tako pogosti, a ker so najbolj v spominu, marsikdo misli, da je dobra predstavitev 99 % zmage na hackathonu. Mimogrede, predstavitev je zelo pomembna, vendar njen prispevek ni večji od 30%.

Po nastopu udeležencev se žirija odloči o podelitvi nagrad zmagovalcem. S tem se je uradni del hackathona zaključil.

Motivacija za sodelovanje na hackathonih

Опыт

Z vidika pridobljenih izkušenj je hackathon edinstven dogodek. V naravi ni veliko krajev, kjer lahko v 2 dneh uresničiš idejo iz nič in takoj dobiš povratno informacijo o svojem delu. Med hackathonom se izboljšujejo kritično mišljenje, veščine timskega dela, upravljanje s časom, sposobnost dela v stresni situaciji, sposobnost predstavitve rezultatov svojega dela v razumljivi obliki, predstavitvene veščine in mnoge druge. Zato so hekatoni odličen kraj za ljudi s teoretičnim znanjem, ki želijo pridobiti izkušnje iz resničnega sveta.

Nagrade

Običajno je nagradni sklad hackathona približno 1.5 tisoč - 10 tisoč evrov za prvo mesto (v Rusiji - 100-300 tisoč rubljev). Pričakovano korist (pričakovano vrednost, EV) od udeležbe je mogoče izračunati s preprosto formulo:

EV = Prize * WinRate + Future_Value - Costs

če Nagrada — velikost nagrade (zaradi poenostavitve bomo predpostavili, da je nagrada samo ena);
WinRate — verjetnost zmage (za začetniško ekipo bo ta vrednost omejena na 10%, za bolj izkušeno ekipo - 50% in več; srečal sem ljudi, ki so vsak hackathon zapustili z nagrado, vendar je to precej izjema od pravila dolgoročno pa bo njihova zmagovalna stopnja nižja za 100 %);
Prihodnja_vrednost - vrednost, ki prikazuje bodoči dobiček od sodelovanja v hackathonu: to je lahko dobiček od pridobljenih izkušenj, vzpostavljenih povezav, prejetih informacij itd. To vrednost je skoraj nemogoče natančno določiti, vendar si jo je treba zapomniti;
stroški — stroški prevoza, nastanitve itd.

Odločitev za sodelovanje je sprejeta na podlagi primerjave EV hackathona z EV aktivnosti, ki bi jo radi izvajali, če hackathona ne bi bilo: če bi čez vikend želeli ležati na kavču in si pomoliti nos, potem bi se verjetno morali udeležiti hackathona; če preživljate čas s svojimi starši ali punco, jih vzemite v ekipo za hackathon (hecam se, odločite se sami), če ste svobodnjak, primerjajte dolarsko uro.

Po mojih izračunih lahko rečem, da je v Rusiji za povprečnega podatkovnega znanstvenika na junior-middle ravni udeležba na hackathonih sorazmerna z denarnim dobičkom iz rednega delovnega dne, vendar obstajajo tudi nianse (velikost ekipe, vrsta hackathona, nagradnega sklada itd.). Na splošno hackathoni trenutno niso bogastvo, lahko pa lepo povečajo vaš osebni proračun.

Zaposlovanje in mreženje v podjetju

Za podjetje je hackathon eden od načinov zaposlovanja novih sodelavcev. Veliko lažje boste pokazali, da ste ustrezna oseba in znate delati na hackathonu, kot pa na razgovoru, ko vrtite binarno drevo na tabli (ki, mimogrede, ne ustreza vedno temu, kar želite opravljati pravo službo podatkovnega znanstvenika, vendar je treba spoštovati tradicijo). Tak preizkus v "bojnih" pogojih lahko nadomesti testni dan.

Svojo prvo zaposlitev sem dobil zahvaljujoč hackathonu. Na hackathonu sem pokazal, da se da iz podatkov iztisniti več denarja, in povedal, kako bom to naredil. Začel sem projekt na hackathonu, ga zmagal, nato pa projekt nadaljeval s sponzorskim podjetjem. To je bil četrti hackathon v mojem življenju.

Možnost pridobitve edinstvenega nabora podatkov

To je zelo pomembna točka za hackathone podatkovne znanosti, katerih pomena vsi ne razumejo. Običajno sponzorska podjetja zagotovijo resnične nabore podatkov med dogodkom. Ti podatki so zasebni, zanje velja NDA, kar pa nam ne preprečuje, da vam pokažemo dokaz koncepta na resničnem naboru podatkov in ne na igrači Titanic. Takšni rezultati bodo v prihodnje v veliko pomoč pri prijavi na zaposlitev v tem ali konkurenčnem podjetju ali pri utemeljevanju podobnih projektov. Strinjajte se, da je ob vseh drugih pogojih bolje dokončati pozitivno ocenjene projekte kot ne imeti jih. Na splošno imajo tako zaključeni projekti podobno vlogo kot medalje in statusi, vendar je za industrijo njihova vrednost bolj očitna.

Советы

Na splošno je delo na hackathonu precej raznolika izkušnja in težko je oblikovati seznam pravil. Vendar pa bi rad navedel seznam opažanj, ki lahko pomagajo začetniku:

  1. Ne bojte se iti na hackathone, tudi če nimate izkušenj ali ekipe. Pomislite, kako bi lahko bili koristni. Na primer, morda imate zanimivo idejo ali ste dobro seznanjeni s kakšnim področjem? Svoje znanje o domeni lahko uporabite pri oblikovanju problema in najdete netrivialne rešitve. Ali pa ste morda najboljši pri Googlu? Vaša spretnost bo prihranila veliko časa, če boste v Githubu našli že pripravljene izvedbe. Ali pa ste zelo dobri pri nastavljanju parametrov lightgbm? V tem primeru ne pojdite na hackathon, ampak se dokažite na tekmovanju kagla.
  2. Taktika je pomembnejša od manevrov. Vaš cilj na hackathonu je rešiti problem. Včasih, da bi rešili problem, ga morate prepoznati. Preverite, ali je vaša identificirana težava res pomembna za podjetje. Preverite svojo rešitev glede na problem, vprašajte se, ali je vaša rešitev optimalna. Pri ocenjevanju vaše rešitve bodo najprej pogledali relevantnost problema in ustreznost predlagane rešitve. Malo ljudi zanima arhitektura vaše nevronske mreže ali koliko rok ste prejeli.
  3. Udeležite se čim več hackathonov, vendar ne bodite sramežljivi, če se oddaljite od slabo organiziranih dogodkov.
  4. Dodajte rezultate svojega dela na hackathonu v svoj življenjepis in ne bojte se o tem javno pisati.

Zakaj bi morali sodelovati v hackathonih
Bistvo hackathonov. Na kratko

Vir: www.habr.com

Dodaj komentar