QA: Hackathonid

QA: Hackathonid

Häkathonite trilogia viimane osa. esimeses osas Räägin motiveerimisest osalemiseks sellistes üritustes. Teine osa oli pühendatud korraldajate vigadele ja nende tagajärgedele. Viimane osa vastab küsimustele, mis ei mahtunud kahte esimesse ossa.

Räägi, kuidas sa hakkasid osalema häkatonitel.
Õppisin Lappeenranta ülikooli magistriõppes, samal ajal osaledes andmeanalüüsi võistlustel. Minu tüüpiline päev nägi välja järgmine: äratus kell 8, mitu loengut ülikoolis, seejärel võistlused ja Coursera kuni keskööni (kui submit on tehtud, vaatan loenguid või loen artikleid). Selline rangem ajakava tasus end ära, ja võitsin andmeanalüüsi võistluse MERC-2017 (mille kohta oli isegi postitus Habras). Võit suurendas enesekindlust ja kui ma kokkusattumisi avastasin SkinHack 2 häkatonist Moskvas, otsustasin vanemate juures käia ja samaaegselt teada saada, mis see häkaton on.

Häkathon ise üsna lõbus oli. Osales kaks rada andmeanalüüsi, millel olid selged mõõdikud ja auhinnafond 100 000 rubla. Kolmas rada oli rakenduste arendamine, mille auhinnafond oli 50 000 rubla, ja seal ei olnud osalejaid. Ühel hetkel ütles korraldaja, et funktsioonita nupp võib võita 50 000 rubla, sest auhinda ei tohi maksmata jätta. Ma ei hakanud rakenduste programmeerimist õppima (ma ei võistle seal, kus mind võiks kergesti „ületada“), kuid see oli mulle selge sõnum, et häkathonidel ei ole alad täidetud.

Sel ajal lahendasin ma andmeanalüüsi kahte rada üksi. Leidsin andmetest lahenduse, mis võimaldas saavutada ideaalse skoori, kuid testandmetes, mis mulle kaks tundi enne ürituse lõppu anti, ei olnud lahtrit lahenduse jaoks (märkusena, siis mõistsin, et „target“ veeru olemasolu treeningus ei loe lahenduseks). Samal ajal avanes edetabel, minu esitlus, millel ei olnud lahendust, oli viiendast kolmas, esimese koha ja minu vahel oli suur vahe ning otsustasin mitte aega raisata ja lahkuda.

Pärast seda, kui ma värskelt analüüsisin, mis juhtus, leidsin hulga vigu (üks mu harjumusi on vaimselt läbi mängida, mis juhtus, koos plokiga ja analüüsida vigu, nende põhjuseid ja mida oleks saanud muuta — selline meeldiv järeldus pool-professionaalsetest pokkerimängudest). Kuid üks asi oli selge — hackathonid pakuvad palju väärtust ja ma pean selle ellu viima. Pärast seda sündmust hakkasin jälgima üritusi ja gruppe, ning järgmine hackathon ei lasknud end kaua oodata. Siis veel üks, ja veel…

Miks tegeled hackathonidega, mitte Kaglega?
Praegu ei meeldi mulle Kagl. Teatud oskuste tasemelt, ilma spetsiifiliste põhjusteta osalemiseks, muutub Kagl vähem kasulikuks kui teised tegevused. Olen varem palju osalenud, ilmselt õnnestus mul kuidagi "maha tulla".

Miks hackathonid, mitte oma projekti kallal töötamine?
Mulle meeldib idee teha midagi ägedat oma kätega rahulikus tempos. ODS-i poisid organiseerisid ODS-i pet projects kõigile, kes soovivad nädalavahetustel oma projektiga tegeleda mõttekaaslaste ringis. Arvan, et liitun nendega varsti.

Kuidas leiad üritusi?
Peamine allikas — hackathon.com (maailm) ja kanal Telegramis Venemaa häkkerid (Venemaa). Lisaks tuleb ürituste teadetesse sotsiaalmeedia ja LinkedIni reklaamides. Kui midagi ei leia, siis võib vaadata siit: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Kas valmistad lahendusplaani enne osalemist või otsitakse lahendusi kohapeal? Näiteks nädal enne hackathonit mõtled: „Siin on vaja sellist ja sellist spetsialisti, tuleb otsida“?
Kui hackathon on toote suunaline — siis jah, ma valmistun. Mõni nädal enne mõtlen, mida hakkan tegema, kaalun, kes võiks abiks olla, kogun meeskonna sõpradest või eelmistest hackathonide osalejatest.

Kas on võimalik hackatonit üksi võtta? Mida teha, kui pole meeskonda?
Andme­teaduse hackathonid on tõeliselt võimalikud (mina olen elav näide), toote­arenduse hackathonidest ei ole ma kuulnud, kuigi arvan, et needki on. Kahjuks rakendavad korraldajad sageli minimaalset osalejate arvu meeskonnas. Arvan, et see on tingitud sellest, et mitte kõik “üksikud” ei jõua finaali (st lahkuvad esimeste raskustega), meeskonnas osalemine hoiab siiski tagasi. Samuti eeldatakse, et pärast üritust jätkate projekti kallal töötamist. Meeskonnaga on projekti viimistlemine kergem.

Üldiselt soovitan alati osaleda meeskonnaga. Kui teil ei ole oma meeskonda, aitavad korraldajad alati selle leidmisel või loomisel.

Kuidas suudetakse hackathonide ajal väsimusega toime tulla?
Häkatonil on aega tööks 2 päeva, see teeb kokku 48 tundi (30-48 tundi, võtame lihtsuse huvides 48). Eemaldame uneaja (16-20 tundi), jääb mitte rohkem kui 30. Nendest momendid, mil tegelik produktiivne töö toimub, kulub umbes 8 tundi (keskmiselt). Kui töö korraldada õigesti (uni, toit, värske õhu saamine, harjutused, teadlikkuse minutid, õige suhtlemine meeskonnaga ja tegevuse vahetamine), siis saab deep work tunde tõsta 12-14 tunnini. Pärast sellist tööd tunned end väsinuna, kuid see on meeldiv väsimus. Koodimine ilma uneta ja pausideta energiajookidega — see on teel ebaõnnestumisse.

Kas sul on olemas oma valmis töövoogud häkatonide jaoks? Kuidas need sul tekkisid, kuidas need on korraldatud (kas .py failid on kaustades, igaühel oma ülesande jaoks jne) ja kuidas alustada selliste loomist iseseisvalt?
Ma ei kasuta täielikult valmis lahendusi eelmistest häkatonidest uutes, kuid mul on oma mudelite ja töövoogude zoo varasemate võistluste kohta. Mul ei pea olema standardosi nullist kirjutama (näiteks õige sihtkodeerimine või lihtne võrgustik, et tuvastada intenti tekstist), mis säästab mulle palju aega.

Praegu näeb see välja nii: iga võistluse või hackathoni jaoks on olemas oma repole GitHubis, kus hoitakse sülearvuteid, skripte ja väikest dokumentatsiooni selle kohta, mis toimub. Lisaks on olemas eraldi repo igasuguste kohandatud "vidinate" (nt õige target encoding koos ristsaldamisega) jaoks. Ma ei arva, et see on kõige elegants parem lahendus, kuid see sobib praegu mulle.

Alustaksin kogu oma koodi salvestamisest kaustadesse ja lühikese dokumentatsiooni kirjutamisest (miks, mida, kuidas tegin ja tulemus).

Kas on reaalselt võimalik sellise lühikese ajaga MVP nullist ette valmistada või tulevad kõik osalejad valmis lahendustega?
Võin rääkida ainult andmete teadusega seotud projektidest — jah, see on võimalik. MVP mõisted minu jaoks sisaldavad kahte tegurit:

  • Elujõuline idee esitatakse tootena (st ärimudel on välja töötatud). Alati peab olema selge arusaam, miks ja kellele me toodet teeme. Mõnikord võidavad projektid, millel on hästi põhjendatud idee, kuid pole prototüüpi, auhindade kohti, ja selles pole midagi üllatavat. Kahjuks ei suuda paljud osalised abstraheerida kaotuse kibedusest ja kirjutavad oma ebaõnnestumised korraldajate lühinägelikkuse arvele, jätkates mudelite kallal töötamist, millel ei ole selget sihtgruppi järgmistel hackathonidel.
  • Mõni näitaja, et te suudate seda toodet luua (rakendus, kood, torujuhtmete kirjeldus).

Juhtub, et hackathonile tuleb meeskond, kellel on valmis lahendus ja nad üritavad seda korraldajate ülesande alla „sobitada“. Sellised meeskonnad lennatakse tehnilise skriinimise käigus välja või arvestatakse ainult see osa, mille nad kohapeal valmis tegid. Ma pole näinud selliseid meeskondi võitjate seas, kuid arvan, et neil on ikkagi tasuv seal käia tulevase väärtuse tõttu (kontaktid, andmestikud ja muu).

Kas on näiteid, kuidas hackathonidel valminud prototüüpe on viidud tootmiseni/startup'i?
Jah. Mul on olnud kolm juhtumit, kus viidi lõpuni välja. Kord tegin ise, kaks korda — teiste kätega minu ideedest ja koodist, mida ma hackathonil kirjutasin. Tunnen ka mõnda meeskonda, kes jätkas koostööd ettevõttega konsultantidena. Lõplikest tulemustest ei tea, kuid tõenäoliselt on midagi lõpptulemuseni jõutud. Ise ei ole startup'e korraldanud ega tea, et keegi seda teeks, kuigi näiteid, olen ma kindel, on olemas.

Pärast paljude hackathonide läbimist, milliseid nõuandeid sa endale annaksid, kui saaksid minevikku naasta?

  1. Taktika on olulisem kui manöövrid. Kujuta ette iga otsust valmis tootena. Idee, Jupyteri märkmik, algoritm ei maksa midagi, kui ei ole selge, kes selle eest maksab.
  2. Enne kui midagigi kavandama hakkad, vasta küsimusele mitte "mida?", vaid "miks?" ja "kuidas?". Näide: kui kavandad mingit ML lahendust, mõtle alguses ideaalsele algoritmile: mida ta saab sisendiks, kuidas tema prognoose hiljem kasutatakse?
  3. Osale meeskonnas.

Millest tavaliselt hackathonidel süüa antakse?
Tavaliselt on hackathonidel toit kehv: pitsad, energiajookide ja limonaad. Peaaegu alati on toit korraldatud rootsi lauas (või jagamislauas), mille juurde seisab suur sabad. Öösel tavaliselt ei pakuta toitu, kuigi ühel korral Pariisis jäeti ööseks süüa — krõpsud, doughnut’id ja kokakoola. Kujutan ette korraldajate mõtlemisprotsessi: "Nii, mida programmeerijad söövad? Ah, küll, krõpsud, doughnut’id — sellega kõik. Pannakse neile see üks soga." Järgmisel päeval küsisin korraldajatelt: "Poiss, kas ei võiks öösel midagi muud teha? Näiteks putru?" Pärast seda vaatasid nad mind kui idiooti. Kuulus prantsuse külalislahkus.

Hea hackathonide puhul tellitakse toit kastides, kus on eraldatud tavaline, taimetoitlaste ja košer toit. Lisaks pannakse külmkapp jogurtide ja müsli jaoks — neile, kes soovivad näksida. Tee, kohvi ja vee on standard. Jätkub mälestus Hack Moscow 2 hackathonist — seal toideti hästi boršiga ja lihapallidega kartulipüreega 1C kontoris.

Hackathonide põhjendatavus sõltub, nii öelda, korraldajate professionaalsest valdkonnast (näiteks parimaid hackathone korraldavad konsultandid)?
Parimad hackathonid on olnud korraldajatelt, kes on kas varem hackathone korraldanud või nendes osalenud. Tõenäoliselt on see ainus tegur, mis mõjutab ürituse kvaliteeti.

Kuidas mõista, et sa ei ole algaja ja nüüd on aeg minna hackathonile?
Kõige parem aeg hackathonile minemiseks oli aasta tagasi. Teine parim aeg on nüüd. Nii et julge mine, tee vigu, õpi — see on normaalne. Ieven närvivõrk — inimeste suurim leiutis ratta ja puu gradientse tõstmise kõrval — ei suuda esimesel koolitusperioodil kedagi kassist koerast eristada.

Millised "punased lipud" ütlevad kohe, et üritus ei tule kuigi hea ja ei tasu aega raisata?

  • Selge kirjeldus, mida teha (kehtib tootehakatonide jaoks). Kui registreerimisel antakse teile selge ülesanne, on parem jääda koju. Minu mälu järgi ei ole olnud ühtegi head hackatonit, kus oleks olnud TŽ. Võrdluseks: Hea — tehke meile midagi, mis on seotud helikõnede analüüsiga. Halb — tehke meile rakendus, mis suudaks eraldada vestluse kaheks eraldi helirajaks iga inimese jaoks.
  • Väike auhinnafond. Kui teilt palutakse teha “tinder online kauplusele AI-ga” ja esimese koha auhind on 500 eurot ning meeskonna minimaalne suurus 5 inimest — ei tasu aega raisata (jah, see on tõeline hackaton, mis toimus Münchenis).
  • Andmete puudumine (kehtib andmete teaduse hackatonide jaoks). Korraldajad pakuvad tavaliselt põhiteavet ürituse kohta ja mõnikord ka näidisdataset. Kui ei ole antud, küsige, see ei tee haiget. Kui 2-3 ei ole selge, milliseid andmeid antakse ja kas neid üldse antakse — see on punane lipp.
  • Uued korraldajad. Ära lase laiskusel end petta ja otsi infot hackathon'i korraldajatest. Kui nad korraldavad sellist üritust esmakordselt, on suur tõenäosus, et midagi läheb valesti. Teisest küljest, kui korraldaja ja žürii liikmed on varem hackathon'e korraldanud või aktiivselt osalenud, on see roheline lipp.

Ühel hackathon'il öeldi mulle: „Sul oli parim lahendus punktide järgi, aga kahjuks hindame me meeskonnatööd ja sina tegutsesid üksi. Kui sa oleksid võtnud meeskonda tudengi või tüdruku...” Kas oled sellise ebaõiglusega kokku puutunud? Kuidas sa sellega toime tulid?
Jah, olen kokku puutunud ja mitte ainult kord. Suhtun kõikesse, mis toimub, stoiliselt: tegin kõik, mis minu võimuses, kui ei õnnestunud – siis nii peab olema.

Miks sa sellega tegeled?
Kõik see lihtsalt igavusest.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster