
Umbes poolteist aastat tagasi alustasin hackathon'ides osalemist. Selle aja jooksul olen osalenud enam kui 20 erineva suuruse ja teemaga ĂŒritusel Moskvast, Helsingist, Berliinist, MĂŒnchenist, Amsterdamist, ZĂŒrichist ja Pariisist. KĂ”igis ĂŒritustes tegelesin ma mingil moel andmeanalĂŒĂŒsiga. Mulle meeldib kĂŒlastada uusi linnu, luua uusi sidemeid, genereerida uusi ideid, ellu viia vanu plaane lĂŒhikese ajaga ning tunda adrenaliini esinemise ja tulemuste vĂ€ljakuulutamise ajal.
See postitus on esimene kolmest postitusest, kus arutame hackathon'e. Selgitan, mis on hackathon'id ja miks tasub nendes osaleda. Teine postitus kĂ€sitleb andmeĂŒrituste tumedat poolt â kuidas korraldajad on teinud vigu ning milleni need on viinud. Kolmas postitus keskendub vastustele hackathon'ide temaatikat puudutavatele kĂŒsimustele.
Mis on hackathon?
Hackathon on ĂŒritus, mis kestab paar pĂ€eva ja mille eesmĂ€rk on lahendada mĂ”ni probleem. TĂŒĂŒpiliselt on hackathonil mitu probleemi, kus igaĂŒht esindab eraldi rada. Sponsoreeriv ettevĂ”te loob ĂŒlesande kirjelduse, edutegurid (need vĂ”ivad olla subjektiivsed nagu "uusus ja loovus" vĂ”i objektiivsed â klassifitseerimise tĂ€psus jĂ€reltestimiskogumis) ja ressursid eduks (ettevĂ”tte API, andmekogud, "riistvara"). Osalejad peavad ettenĂ€htud aja jooksul sĂ”nastama probleemi, pakkuma lahenduse ja esitama oma toote prototĂŒĂŒbi. Parimad lahendused saavad auhindu ettevĂ”ttelt ja vĂ”imaluse edasiseks koostööks.
Hackathoni etapid
PĂ€rast ĂŒlesannete vĂ€ljakuulutamist liituvad hackathon'i osalejad meeskondadesse: iga "ĂŒksik" saab mikrofoni ja rÀÀgib valitud ĂŒlesandest, oma kogemustest, ideest ning milliseid spetsialiste ta vajab projekti elluviimiseks. MĂ”nikord vĂ”ib meeskond koosneda ainult ĂŒhest inimesest, kes suudab kogu projekti iseseisvalt ja piisavalt kĂ”rgel tasemel lĂ”petada. See on vajalik andmeanalĂŒĂŒsi hackathonidel, kuid sageli on see tooteĂŒritustel keelatud vĂ”i ebasoovitav â korraldajad soovivad, et projektiga jĂ€tkataks, kuid juba ettevĂ”ttes; moodustatud meeskond omab mitmeid eeliseid vĂ”rreldes ĂŒksikute osalejatega, kes soovisid toote ise luua. Optimaalne meeskond koosneb tavaliselt 4 inimesest ja sisaldab: front-end arendajat, back-end arendajat, andmeadikti ja Ă€rispetsialisti. RÀÀkides, andmeadikti/toote hackathonide eristamine on ĂŒsna lihtne â kui on olemas andmestik selge metriiga ja edetabeliga vĂ”i vĂ”idab koodiga Jupyter Notebook'is â on see andmeanalĂŒĂŒsi hackathon; kĂ”ik muu â kus on vajalik rakenduse, veebisaidi vĂ”i midagi köitvat loomine â on toote hackathon.
Tavaliselt algab projekti töö reede Ă”htul kell 9 ja tĂ€htaeg on pĂŒhapĂ€eva hommikul kell 10. Osast sellest ajast on vaja pĂŒhendada uni (magamine ja kodeerimine ei ole kindel tee eduni, olen proovinud), seega pole osalistel palju aega midagi kvaliteetset teha. Osalejate abistamiseks on kohapeal ettevĂ”tte esindajad ja mentorid.
Projekti töö algab suhtlemisest ettevĂ”tte esindajatega, kuna nad mĂ”istavad paremini ĂŒlesande eripĂ€ra, mÔÔdikuid ning tĂ”enĂ€oliselt hindavad nad teie töid lĂ”puks. Antud suhtlemise eesmĂ€rk on mĂ”ista, millised suunad on kĂ”ige aktuaalsemad ja millele tuleks keskenduda.
Ăhel hackathonil pandi paika ĂŒlesanne regressiooniks andmestikul, mis koosneb tabelitest ja piltidest, ning selgeks mÔÔdikuks â RMSE. PĂ€rast vestlust ettevĂ”tte andmeteadlasega, sain aru, et neile ei ole vajalik regressioon, vaid klassifikatsioon; siiski mingeid otsuseid tehti juhtkonna poolt, et ĂŒlesannet lahendada just niimoodi. Klassifikatsioon ei ole vajalik mitte rahaliste mÔÔdikute suurendamiseks, vaid selleks, et aru saada, millised parameetrid on otsustusprotsessis kĂ”ige olulisemad, et neid hiljem kĂ€sitsi kĂ€sitleda. Seega algne ĂŒlesanne (regressioon RMSE-ga) muutub klassifikatsiooniks; hindamise prioriteet muutub saavutatud tĂ€psusest tulemust selgitamise vĂ”imalusele. See muudab omakorda vĂ”imatuks stackimise ja musta kasti algoritmide kasutamise. Selline dialoog sÀÀstis mulle tohutult aega ja suurendas minu vĂ”iduvĂ”imalusi.
PĂ€rast seda, kui olete aru saanud, mida on vaja teha, algab projekti otsene töö. Peate seadma kontrollpunkte â aja, mille jooksul tuleb saavutada seatud ĂŒlesanded; samal ajal on kasulik jĂ€tkata suhtlemist mentorlite â ettevĂ”tte esindajate ja tehnikute â kogukonna esindajatega, et korrigeerida teie projekti teekonda. VĂ€rske vaatenurk probleemile vĂ”ib pakkuda huvitavat lahendust.
Kuna hackathonidel osaleb palju algajaid, on korraldajate poolt hea tava korraldada loenguid ja töötube. Tavaliselt on kolme tĂŒĂŒpi loengut: kuidas esitada oma idee tootena, tehniline loeng (nĂ€iteks avatud API kasutamisest masinĂ”ppes, et te ei peaks kirjutama oma speech2text kahe pĂ€evaga, vaid saaksite kasutada valmis lahendust), ning loeng pitchimisest (kuidas esitada oma toodet, kuidas Ă”igesti kĂ€si liigutada, et publikule ei oleks igav). Osalejate energiat tĂ”stmiseks korraldatakse erinevaid tegevusi â jooga sessioon, lauatennis ja jalgpall vĂ”i videomĂ€ngude mĂ€ngimine.
PĂŒhapĂ€eva hommikul peate esitama oma töö tulemused ĆŸĂŒriile. Heade hĂ€katonide puhul algab kĂ”ik tehnilisest ekspertiisist â kas see, mida vĂ€idate, tĂ”eliselt töötab? Selle ĂŒlevaate eesmĂ€rk on eristada meeskondi, kellel on ilus esitlus ja buzzword'id, kuid ilma tooteta, ning neid, kes on tĂ”eliselt midagi teinud. Kahjuks ei esine tehnilist ekspertiisi kĂ”igil hĂ€katonidel, ja juhtub, et meeskond, kellel on 12 slaidi ja mĂ”tteviis â... blockchain, kvantarvutus, ja siin AI lĂ”petab...â vĂ”idab esikoha. Sellised juhtumid ei ole kuigi sagedased, kuid kuna need jÀÀvad paremini meelde, arvavad paljud, et hea esitlus on 99% hĂ€katoni vĂ”idust. Esitlus, muide, on tĂ”epoolest oluline, kuid selle panus ei ĂŒleta 30%.
Osalejate esinemise jĂ€rel teeb ĆŸĂŒrii otsuse vĂ”itjate vĂ€ljakuulutamise kohta. Sellega on hĂ€katoni ametlik osa lĂ”petatud.
Motivatsioon osaleda hÀkatonides
Kogemus
Kogemuste mĂ”ttes on hackathon ainulaadne ĂŒritus. Selliseid kohti, kus saab idee nullist kahe pĂ€evaga ellu viia ja oma töö kohta kohest tagasisidet saada, on looduses ĂŒldiselt vĂ€he. Hackathonil arendatakse kriitilist mĂ”tlemist, meeskonnatöö oskust, ajajuhtimist, stressisituatsioonide talumist, oma töö tulemuste selgelt esitlemise oskust, presentatsioonioskusi ja palju muud. Just seetĂ”ttu on hackathonid suurepĂ€rane koht teoreetiliste teadmistega inimestele, kes soovivad omandada praktilisi kogemusi.
Auvid
Tavaliselt on hackathoni auhindade fond umbes 1,5k â 10k eurot esimese koha eest (Venemaal 100-300 tuhat rubla). Oodatavat kasu (expected value, EV) osalemise kohta saab arvutada lihtsa valemi jĂ€rgi:
EV = Auhind * VĂ”idutĂ”enĂ€osus + TulevikuVÀÀrtus - Kulud kus Auhind â auhinna suurus (lihtsuse huvides eeldame, et auhind on ĂŒks);
VĂ”idutĂ”enĂ€osus â vĂ”iduvĂ”imalus (algajatele on see vÀÀrtus piiritletud maksimaalselt 10%-ga, kogenumatele 50% ja rohkem; olen kohtunud inimestega, kes on iga hĂ€katoni jĂ€rel auhindadega lahkunud, kuid see on pigem erand kui reegel ning pikaajaliselt on nende vĂ”iduprotsent madalam kui 100%);
Future_Value â vÀÀrtus, mis nĂ€itab tulevikus saadavat kasu hĂ€katonist osalemisest: see vĂ”ib olla kogemusest saadud kasu, loodud suhted, saadud teave jne. Seda vÀÀrtust on peaaegu vĂ”imatu tĂ€pselt mÀÀrata, kuid seda tuleb silmas pidada;
Costs â kulud transportimisele, majutusele jne.
Osalemise otsus tehakse vĂ”rreldes EV-ga hĂ€katonis ja EV-ga tegevuses, millega tegeleda oleksite tahtnud, kui hĂ€katoni poleks olnud: kui tahtsite nĂ€dalavahetusel diivanil lebada ja ninaga kaevata, siis tasuks kindlasti osaleda hĂ€katonis; kui soovite vanematega vĂ”i tĂŒdruksĂ”braga aega veeta â siis vĂ”tke nad oma meeskonda hĂ€katonile (naljatan, otsustage ise), kui tahate freelance'ida â vĂ”rrelge dollarit-tunni.
Oma arvutuste pĂ”hjal vĂ”in öelda, et Venemaal on algaja ja keskmise tasemega andmete teadlase jaoks osalemine hackathon'idel vĂ”rreldav tavapĂ€rase tööpĂ€eva rahaga, kuid siin on ka nĂŒanse (meeskonna suurus, hackathon'i tĂŒĂŒp, auhinnafond jne). Ăldiselt ei ole hackathon'id praegu kulda tĂ€is, kuid need vĂ”ivad anda meeldivat lisatulu isiklikku eelarvesse.
Töötajate palkamine ja vÔrgustike loomine
EttevĂ”tte jaoks on hackathon ĂŒks viis uute töötajate palkamiseks. Sul on palju lihtsam nĂ€idata, et oled normaalne inimene ja oskad töötada hackathon'il, kui teha seda intervjuus, joonistades binaarset puud tahvlile (mis muide ei vasta alati sellele, mida sa tĂ”elises andmete teadlase töös tegema hakkad, kuid traditsioone tuleb jĂ€rgida). Selline testimine âlahingutingimustesâ vĂ”ib asendada katsepĂ€eva.
Oma esimese töö sain ma tÀnu hackathon'ile. Hackathon'il nÀitasin, kuidas andmetest on vÔimalik rohkem raha vÀlja pigistada, rÀÀkisin, kuidas kavatsetakse seda teha. Alustasin projekti hackathon'il, vÔitsin selle ja jÀtkasin projekti juba sponsorfirmas. See oli minu elus neljas hackathon.
VÔimalus saada ainulaadne andmestik
See on vĂ€ga oluline punkt andmeadete hackathonide jaoks, mille tĂ€htsust ei mĂ”ista kĂ”ik. T avaliselt pakuvad sponsorfirmad ĂŒrituste kĂ€igus reaalset andmestikku. Need andmed on privaatset laadi, need on NDA all, kuid see ei sega nĂ€itamast teile tĂ”estuskonseptsiooni reaalsete andmetega, mitte kuidagi mĂ€ngulise Titanicu kallal. Sellised tulemused aitavad hiljem palju töö leidmisel nii selles ettevĂ”ttes kui ka konkurentsis vĂ”i sarnaste projektide pĂ”hjendamisel. NĂ”ustuge, et vĂ”rreldes teistega on parem omada tehtud projekte, millele on antud positiivne tagasiside, kui mitte omada ĂŒhtegi. Ăldiselt mĂ€ngivad sellised elluviidud projektid sarnast rolli medalite ja staatuste suhtes Kaggle'is, kuid nende vÀÀrtus tööstuses on ilmselgem.
NÔuanded
Ăldiselt on töö hackathonil ĂŒsna mitmekesine kogemus ja on raske koostada teatud reeglite nimekirja. Siiski sooviksin tuua vĂ€lja mĂ”ned tĂ€helepanekud, mis vĂ”ivad algajatele abiks olla:
- Ărge kartke osaleda hackathonidel, isegi kui teil pole kogemusi vĂ”i meeskonda. MĂ”elge, kuidas saaksite olla kasulik. NĂ€iteks vĂ”ib teil olla huvitav idee vĂ”i tunnete teatud valdkonda hĂ€sti? VĂ”ite kasutada oma valdkonna teadmisi probleemide formuleerimisel ja leida ebatriviaalset lahendust. VĂ”i ehk oskate te kĂ”ige paremini otsida teavet? Teie oskus sÀÀstab palju aega, kui suudate leida valmis lahendusi GitHubis. VĂ”i olete vĂ€ga hea lightgbm parameetrite hÀÀlestamises? Sel juhul Ă€rge minge hackathonile, vaid tĂ”estage oma oskusi Kaggle'i vĂ”istlustel.
- Taktika on olulisem kui manööverdamine. Teie ĂŒlesanne hackathonil on probleemide lahendamine. MĂ”nikord tuleb probleemi lahendamiseks see kĂ”igepealt tuvastada. Kontrollige, kas teie tuvastatud probleem on ettevĂ”tte jaoks tĂ”eliselt asjakohane. Veenduge, et teie lahendus vastab probleemile ja kĂŒsige endalt, kas teie lahendus on optimaalne. Teie lahenduse hindamisel vaadatakse esmalt, kui asjakohane probleem on ja kui adekvaatne pakutud lahendus on. Teie nĂ€rvivĂ”rgu arhitektuur vĂ”i kui palju kĂ€si-tehingut te saite, ei huvita enamiku jaoks kuigi palju.
- Osalege vĂ”imalikult paljude hackathonide ĂŒritustel, kuid Ă€rge kartke lahkuda halvasti korraldatud ĂŒritustelt.
- Lisage hackathonil tehtud töö tulemused oma CV-sse ja Àrge kartke sellest avalikult rÀÀkida.

Hackathonide olemus. LĂŒhidalt
Allikas: habr.com
