
Umbes poolteist aastat tagasi hakkasin osalema hackathonidel. Selle aja jooksul olen osalenud rohkem kui 20 erineva suuruse ja teemaga ĂŒritusel Moskvast, Helsingist, Berliinist, MĂŒnchenist, Amsterdamist, ZĂŒrichist ja Pariisist. KĂ”igil ĂŒritustel tegelesin andmete analĂŒĂŒsiga mingil moel. Mulle meeldib reisida uutesse linnadesse, luua uusi kontakte, tulla vĂ€lja vĂ€rskete ideedega, ellu viia vanu plaane lĂŒhikese aja jooksul ning tunda adrenaliini esituste ja tulemuste vĂ€ljakuulutamise ajal.
See postitus on esimene kolmest postitusest hackathonide teemal, kus ma rÀÀgin, mis on hackathonid ja miks peaksite hakkama nendes osalema. Teine postitus kĂ€sitleb nende ĂŒrituste tumedat kĂŒlge â kuidas korraldajad tegid vigu ĂŒrituste korraldamisel ja milleni need viisid. Kolmas postitus keskendub kĂŒsimustele hackathonide kĂ”rvalteemade kohta.
Mis on hackathon?
Hackathon on ĂŒritus, mis toimub mitme pĂ€eva jooksul ning mille eesmĂ€rk on lahendada mingi probleem. Tavaliselt on hackathonil mitu probleemi, igaĂŒhe jaoks on mĂ”eldud eraldi rada. Sponsorfirma esitab probleemikirjelduse, eduteguri mÔÔdikud (need vĂ”ivad olla subjektiivsed nagu "uudne ja loominguline", aga ka objektiivsed â klassifitseerimise tĂ€psus eraldatud andmestikul) ja ressursid eduks (ettevĂ”tte API, andmestikud, "raha"). Osalejad peavad antud aja jooksul formuleerima probleemi, pakkuma lahenduse ja esitama oma toote prototĂŒĂŒbi. Parimad lahendused saavad auhindu ettevĂ”ttelt ning vĂ”imaluse edasiseks koostööks.
Hackathoni etapid
PĂ€rast ĂŒlesannete kuulutamist liituvad hĂ€katoni osalejad meeskondadesse: iga "ĂŒksik" saab mikrofoni ja rÀÀgib valitud ĂŒlesandest, oma kogemusest, ideest ning milliseid spetsialiste tal on vaja projekti teostamiseks. MĂ”nikord vĂ”ib meeskond koosneda ĂŒhest inimesest, kes suudab kogu projekti iseseisvalt piisavalt kĂ”rgel tasemel teostada. See on asjakohane andmeanalĂŒĂŒsi hĂ€katonide puhul, kuid sageli on see toodete ĂŒritustel keelatud vĂ”i soovimatu â korraldajad on suunatud projekti edasisele arendamisele juba ettevĂ”ttes; moodustatud meeskond omab mitmeid eeliseid vĂ”rreldes osalejatega, kes on otsustanud toote ĂŒksi luua. Optimaalne meeskond koosneb tavaliselt neljast inimesest ja hĂ”lmab: frontend, backend, andmeanalĂŒĂŒtikut ja Ă€riinimest. Muide, andmeanalĂŒĂŒsi/toote hĂ€katonide jagamine on ĂŒsna lihtne â kui on olemas andmebaas selge mÔÔdikaga ja edetabeliga vĂ”i on vĂ”imalik vĂ”ita koodiga Jupyter Notebookis â siis see on andmeanalĂŒĂŒsi hĂ€katon; kĂ”ik muu, kus on vaja luua rakendus, veebisait vĂ”i midagi haaravat â on tooteline.
Tavaliselt algab töö projekti kallal reede Ă”htul kell 9 ja tĂ€htaeg on pĂŒhapĂ€eva hommikul kell 10. Osadest aegadest tuleb osa aega magamiseks eemale vĂ”tta (mitte magamine ja kodeerimine â see on kindel tee ebaĂ”nnestumiseni, olen proovinud), mis tĂ€hendab, et osalejatel ei ole vĂ€ga palju aega kvaliteetseid asju teha. Osalejate toetamiseks on kohapeal kohal ettevĂ”tte esindajad ja mentorid.
Projekti kallal töötamine algab suhtlemisest ettevĂ”tte esindajatega, kuna nemad mĂ”istavad ĂŒlesande spetsiifikat, mÔÔdikuid paremini ja tĂ”enĂ€oliselt hindavad nad teie töid lĂ”pus. Selle suhtlemise eesmĂ€rk on mĂ”ista, millised suunad on kĂ”ige asjakohasemad ja millele tuleks oma tĂ€helepanu ja aega keskenduda.
Ăhel hackathonil oli ĂŒlesanne regressioon, kasutades tabelandmeid ja pilte ning selget mÔÔdikut â RMSE. PĂ€rast vestlust ettevĂ”tte andmeteadlasega sain aru, et neile ei ole vajalik regressioon, vaid klassifikatsioon, kuid ilmselt otsustas keegi juhtkonnast, et probleem tuleks ettenĂ€htud viisil lahendada. Klassifikatsioon on neile vajalik mitte rahaliste nĂ€itajate tĂ”stmiseks, vaid selleks, et mĂ”ista, millised parameetrid on kĂ”ige olulisemad otsuste tegemisel, ja seejĂ€rel töötada neid kĂ€sitsi lĂ€bi. Ehk siis algne ĂŒlesanne (regressioon RMSEga) muutub klassifikatsiooniks; hindamise prioriteet muutub saavutatud tĂ€psuselt tulemuse selgitamise vĂ”imaluseks. See omakorda vĂ€listab stakimise ja musta kasti algoritmide kasutamise. Selline dialoog sÀÀstis mulle tohutult aega ja suurendas mu vĂ”iduvĂ”imalusi.
PĂ€rast seda, kui olete aru saanud, mida peate tegema, algab otsene töö projekti kallal. Te peate seadma kontrollpunktid â ajalimiidid, milleks tuleb tĂ€ita seatud ĂŒlesanded; samuti oleks kasulik jĂ€tkata suhtlemist mentoritega â ettevĂ”tte esindajate ja tehnikaspetsialistidega â see on kasulik teie projekti marsruudi kohandamiseks. Uus vaatenurk probleemile vĂ”ib pakkuda huvitavaid lahendusi.
Kuna hackathonidel osaleb palju algajaid, on korraldajate poolt hea tava viia lĂ€bi loenguid ja workshop'e. Tavaliselt on kolm loengut â kuidas esitada oma ideed tootena, loeng tehnilisest temaatikast (nĂ€iteks avatud APIde kasutamisest masinĂ”ppes, et te ei peaks kahte pĂ€eva oma speech2text kirjutama, vaid saaksite valmis lahendusi kasutada), loeng pitchimisest (kuidas esitada oma toodet, kuidas Ă”igesti kĂ€si laval liigutada, et kuulajatel ei oleks igav). Korraldatakse erinevaid tegevusi, et osalejaid ergutada â jooga sessioon, lauajalgpall ja tennis vĂ”i videomĂ€ngude mĂ€ngimine.
PĂŒhapĂ€eva hommikul peate esitama oma töö tulemused ĆŸĂŒriile. Heade hackathonide puhul algab kĂ”ik tehnilisest ekspertiisist â kas see, mida vĂ€idate, tĂ”eliselt töötab? Selle ĂŒlevaatuse eesmĂ€rk on vĂ€lja filtreerida meeskonnad, kellel on kaunis esitlus ja buzzwordid, kuid ilma tooteta, ning need, kes on tĂ”eliselt midagi saavutanud. Kahjuks ei ole mitte kĂ”igis hackathonides tehniline ekspertiis kohal ja esinevad juhtumid, kui meeskond, kellel on 12 slaidi ja mĂ”tteviis â... blockchain, kvantarvutus, ja AI teeb seal vajalikud muudatused...â vĂ”idab esikoha. Need pretsedendid ei ole nii sagedased, kuid kuna need jÀÀvad paremini meelde, arvavad paljud, et hea esitlus on 99% hackathoni vĂ”idust. Esitlus on tĂ”epoolest oluline, kuid selle panus ei ĂŒleta 30%.
PĂ€rast osalejate esitlusi teeb ĆŸĂŒrii otsuse vĂ”itjate premeerimise kohta. Sellega lĂ”ppeb hackathoni ametlik osa.
Motivatsioon osalemiseks hackathonidel
Kogemus
Kogemuse kontekstis on hackathon ainulaadne ĂŒritus. Looduses ei ole palju kohti, kus saab ideed luua nullist kahe pĂ€eva jooksul ja saada kohest tagasisidet oma töö kohta. Hackathonide ajal arendatakse kriitilist mĂ”tlemist, meeskonnatöö oskust, ajajuhtimist, vĂ”imet töötada stressisituatsioonides, oskust esitada oma töö tulemusi arusaadaval viisil, esitlusoskust ja palju muud. Just seetĂ”ttu on hackathonid suurepĂ€rane koht teoreetiliste teadmistega inimestele, kes soovivad saada tĂ”elisi kogemusi.
Auhinnad
Tavaliselt on hackathoni auhinnafond umbes 1.5k - 10k eurot esikoha korral (Venemaal 100-300 tuhande rubla ulatuses). Oodatavat kasu (expected value, EV) osalemisest saab arvutada lihtsa valemi abil:
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Ă”idu tĂ”enĂ€osus (algajate meeskonna puhul on see vÀÀrtus ĂŒlevalt piiratud 10%-ga, kogenud meeskonna puhul 50% ja enam; olen kohanud inimesi, kes iga hackathonilt lahkusid auhindadega, kuid see on pigem reeglite erand ja pikaajalises perspektiivis on nende vĂ”idutĂ”enĂ€osus madalam kui 100%);
TulevikuvÀÀrtus â suurus, mis nĂ€itab tulevast kasu osalemisest hackathonil: see vĂ”ib olla kasu saadud kogemusest, loodud kontaktidest, saadud informatsioonist jne. Selle suuruse tĂ€pset mÀÀratlemist on praktiliselt vĂ”imatu, kuid sellest on oluline teada.
Kulud â kulud transportimiseks, majutuseks jms.
Osalemise otsus tehakse hackathoni EV vĂ”rdlemise pĂ”hjal tegevuse EV-ga, millega kavatsete tegelema hakata, kui hackathonit ei oleks: kui kavatsete veeta nĂ€dalavahetuse diivanil lamades ja nina kaevates, siis tasub ehk hakata osalema hackathonil; kui soovite aega veeta vanematega vĂ”i tĂŒdruksĂ”braga â vĂ”tke nad meeskonda hackathonile (naljaga pooleks, otsustage ise), kui plaanite vabakutselist tööd â vĂ”rreldke dollarit-tundi.
Oma arvutuste pĂ”hjal vĂ”in öelda, et Venemaal on keskmise and scientist taseme junior â mid-level osalemine hackathonides vĂ”rreldav tavalise tööd pĂ€evast saadud rahaga, kuid on ka nĂŒansse (meeskonna suurus, hackathoni tĂŒĂŒp, auhinnafond jne). Ăldiselt on hackathonid hetkel â see ei ole kuldne kaevandamine, kuid need vĂ”ivad anda meeldiva lisakasu isiklikule eelarvele.
Tööle vÀrbamine ja vÔrgustikutöö
EttevĂ”tte jaoks on hackathon ĂŒks viis vĂ€rvata uusi töötajaid. Teil on palju lihtsam nĂ€idata, et olete normaalne inimene ja oskate hackathonil tööd teha, kui intervjuul, joonistades binaarset puud tahvlile (mis, muide, ei vasta alati sellele, mida te tĂ”elisel and scientist tööl tegema hakkate, kuid traditsioone tuleb austada). Selline kontroll âlahingutingimustesâ vĂ”ib asendada proovipĂ€eva.
Sain oma esimese töökoha tÀnu hackathonile. Hackathonil nÀitasin, et andmetest on vÔimalik rohkem raha vÀlja pigistada, rÀÀkisin, kuidas kavatsema seda teha. Alustasin projekti hackathonil, vÔitsin selle, seejÀrel jÀtkasin projekti juba sponsoreerivas ettevÔttes. See oli minu elu neljas hackathon.
VÔimalus saada unikaalne andmekogum
See on vĂ€ga oluline punkt andmete teaduse hackathonide jaoks, mille tĂ€htsust ei mĂ”ista kĂ”ik. Tavaliselt annavad sponsorid tĂ”elisi andmekogumeid ĂŒrituse kĂ€igus. Need andmed on privaatseid, nad on NDA all, mis ei takista teil nĂ€idata tĂ”estuskonsepti reaalse andmengoti peal, mitte mĂ”ne mĂ€nguasja titaaniklasi. Edasi on sellised tulemused vĂ€ga abiks töötamisel selle ettevĂ”tte vĂ”i konkurentide juures vĂ”i sarnaste projektide pĂ”hjendamiseks. Olge nĂ”us, et vĂ”rreldes teiste tingimustega on omada valminud projekte, mida on positiivselt hinnatud, parem kui mitte midagi omada. Ăldiselt mĂ€ngivad sellised realiseeritud projektid sarnast rolli nagu medalid ja staatused Kaggle'is, kuid tööstusele on nende vÀÀrtus ilmsem.
NÔuanded
Ăldiselt on töötamine hackathonil ĂŒsna mitmekesine kogemus ja on keeruline sĂ”nastada mingit reeglite loetelu. Siiski tahaksin tuua vĂ€lja mĂ”ned tĂ€helepanekud, mis vĂ”ivad aidata algajaid:
- Ărge kartke minna hackathonidele, isegi kui teil pole kogemust vĂ”i meeskonda. MĂ”elge, kuidas te vĂ”iksite olla kasulik. NĂ€iteks vĂ”ib teil olla huvitav idee vĂ”i tunnete teatud valdkonda hĂ€sti? Saate kasutada oma valdkonnast saadud teadmisi probleemi sĂ”nastamisel ja leida ebatavalisi lahendusviise. VĂ”i oskate Ă€kki kĂ”ige paremini googeldada? Teie oskus aitab sÀÀsta palju aega, kui suudate leida valmis lahendusi GitHubis. VĂ”i tunnete te vĂ€ga hĂ€sti lightgbm parameetrite seadistamist? Sellisel juhul Ă€rge minge hackathonile, vaid tĂ”estage seda Kaggle'i vĂ”istlustes.
- Taktika on olulisem kui manööverdus. Teie ĂŒlesanne hackathonil on probleemide lahendamine. MĂ”nikord, et probleemi lahendada, peate selle kĂ”igepealt tuvastama. Kontrollige, kas teie tuvastatud probleem on tĂ”eliselt asjakohane ettevĂ”tte jaoks. Kontrollige oma lahenduse vastavust probleemile, kĂŒsige endalt oma lahenduse optimaalsuse kĂŒsimus. Teie lahenduse hindamisel vaadatakse esmalt probleemi asjakohasust ja ettepaneku vastavust. Teie nĂ€rvivĂ”rgu arhitektuur vĂ”i kui palju hÀÀli-droni te saite, ei huvita paljusid.
- Osalege vĂ”imalikult palju hackathonidel, kuid Ă€rge kartke lahkuda halvasti korraldatud ĂŒritustelt.
- Lisage oma töötulemused hackatoni jooksul CV-sse ja Àrge kartke sellest avalikult kirjutada.

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