QA: Hakatoni

QA: Hakatoni

Završni dio hakaton trilogije. IN prvi deo Govorio sam o motivaciji za učešće na ovakvim događajima. Drugi deo bila posvećena greškama organizatora i njihovim rezultatima. Završni dio će odgovoriti na pitanja koja se nisu uklopila u prva dva dijela.

Recite nam kako ste počeli da učestvujete na hakatonima.
Studirao sam magisterij na Univerzitetu Lappeenranta dok sam rješavao takmičenja u analizi podataka. Moj tipičan dan je izgledao ovako: ustajanje u 8, nekoliko parova na fakultetu, pa takmičenja i kursevi do ponoći (dok se računaju prijave, gledam predavanja ili čitam članke). Ovako strog raspored je urodio plodom i pobijedio sam na takmičenju za analizu podataka MERC-2017 (o čemu se čak raspravljalo objaviti na čvorištu). Pobjeda mi je ulila samopouzdanje, a kada sam slučajno naišla na informaciju o hakatonu SkinHack 2 u Moskvi, odlučila sam posjetiti roditelje i ujedno saznati šta je hakaton.

Sam hakaton se pokazao prilično smiješnim. Postojala su dva puta za analizu podataka sa jasnim metrikama i skupom podataka sa novčanom nagradom od 100 hiljada rubalja. Treća numera je bila na razvoju aplikacije sa nagradom od 50k, a nije bilo učesnika. Organizator je u jednom trenutku rekao da prozor sa dugmetom bez funkcionalnosti može da dobije 50 hiljada, jer se nagrada ne može isplatiti. Nisam počeo da učim kako da programiram aplikacije (ne takmičim se tamo gde se lako mogu „prevrnuti“), ali za mene je to bila jasna poruka da polja na hakatonima nisu pretrpana.

Zatim sam sam riješio oba puta analize podataka. Pronašao sam curenje u podacima koji mi je omogućio da dobijem idealnu brzinu, ali kolona sa curenjem nije bila u podacima testa koje sam primio dva sata prije kraja događaja (usput, tada sam shvatio da je prisustvo "ciljne" kolone u vozu se ne računa kao curenje). Istovremeno se otvorila lista lidera, moj submission bez lica je zauzeo treće mesto od pet, bio je veliki zaostatak za prvim i odlučio sam da ne gubim vreme i otišao.

Nakon što sam svježim umom analizirao šta se dogodilo, pronašao sam gomilu grešaka (jedna od mojih navika je da mentalno skrolujem kroz notes i analiziram greške, njihov uzrok i šta se moglo promijeniti - tako ugodno naslijeđe poluprofesionalne igre pokera). Ali jedno je bilo jasno - hakatoni imaju veliku vrijednost i jednostavno sam to morao implementirati. Nakon ovog događaja počeo sam pratiti događaje i grupe, a kasniji hakaton nije dugo čekao. Zatim još jedan, pa još jedan...

Zašto radiš hakatone, a ne Kaglo?
Trenutno mi se ne sviđa Kagle. Od određenog nivoa vještina, bez posebnih razloga za sudjelovanje, kagle postaje manje koristan od drugih aktivnosti. I ranije sam dosta učestvovao, izgleda da sam nekako uspeo da se „skinem“.

Zašto hakatoni, a ne raditi na svom projektu?
Sviđa mi se ideja da napravim nešto kul vlastitim rukama u sporom tempu. Momci iz ODS-a su se organizovali ODS projekti za kućne ljubimce za sve koji žele provesti vikend radeći na svom projektu sa istomišljenicima. Mislim da ću im se uskoro pridružiti.

Kako pronalazite događaje?
Glavni izvor - hackathon.com (svijet) i telegram chat Ruski hakeri (Rusija). Osim toga, najave događaja pojavljuju se u oglašavanju na društvenim mrežama i na linkedinu. Ako ništa ne pronađete, možete pogledati ovdje: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Pripremate li plan rješenja prije učešća ili se sve odlučuje u hodu? Na primjer, sedmicu prije hakatona, mislite li: „Trebaće nam taj i takav specijalista ovdje, morat ćemo ga potražiti“?
Ako je hakaton za hranu, da, spremam se. Nekoliko sedmica prije, smislim šta ću, shvatim ko bi mogao biti od koristi i okupim tim prijatelja ili učesnika sa prošlih hakatona.

Da li je zaista moguće sami hakovati hakaton? Šta učiniti ako nema tima?
Hakatoni nauke o podacima su stvarni (ja sam živi primer toga), nisam video hakatone za namirnice, mada i ja tako mislim. Nažalost, ponekad organizatori nameću ograničenje minimalnog broja učesnika u timu. Mislim da je to zbog činjenice da svi "usamljenici" ne dođu do finala (odnosno, jednostavno odu s prvim poteškoćama); učešće u timu još uvijek koči. Čak i nakon događaja, od vas se očekuje da nastavite raditi na projektu. Biće lakše realizovati projekat sa timom.

Generalno, moj savet je da uvek učestvujete sa timom. Ako nemate svoj tim, organizatori će vam uvijek pomoći da ga pronađete ili kreirate.

Kako se nosite sa umorom tokom hakatona?
Na hackathonu imate 2 dana za rad, to je 48 sati (30-48 sati, uzmimo 48 radi lakšeg brojanja). Uklanjamo vrijeme za spavanje (16-20 sati), ostavljajući ne više od 30. Od toga će 8 sati (u prosjeku) zapravo biti potrošeno na produktivan rad. Ako pravilno organizirate svoj posao (san, prehrana, izlasci na svjež zrak, vježbe, minute svjesnosti, pravilna komunikacija s timom i zamjena aktivnosti), onda se dubinsko radno vrijeme može povećati na 12-14. Nakon takvog rada osjećat ćete se iscrpljeno, ali će to biti prijatan umor. Kodiranje bez sna i pauza, prekinuto energetskim pićima, recept je za neuspjeh.

Imate li svoje gotove kanale za hakatone? Kako ste ih nabavili, kako su organizovani (nalaze se u folderima sa .py fajlovima, svaki za svoj zadatak, itd.) i kako da počnete da ih kreirate sami?
Ne koristim potpuno gotova rješenja sa prošlih hakatona u novim, ali imam svoj zoološki vrt modela i pipelinea sa prošlih takmičenja. Ne moram da prepisujem standardne dijelove od nule (na primjer, ispravno kodiranje cilja ili jednostavnu mrežu za izdvajanje namjere iz teksta), što mi štedi mnogo vremena.

Trenutno to izgleda ovako: za svako takmičenje ili hakaton postoji sopstveni repo na GitHubu, u njemu se pohranjuju sveske, skripte i mala dokumentacija o tome šta se dešava. Osim toga, postoji poseban repo za sve vrste uokvirenih "trikova" (kao što je ispravno kodiranje cilja sa unakrsnom validacijom). Mislim da ovo nije najelegantnije rješenje, ali mi za sada odgovara.

Počeo bih tako što bih spremio sav svoj kod u foldere i napisao kratku dokumentaciju (zašto, šta, kako sam to uradio i rezultat).

Da li je realno pripremiti MVP od nule u tako kratkom vremenu ili svi učesnici dolaze sa gotovim rješenjima?
Mogu samo reći o projektima vezanim za nauku o podacima - da, moguće je. MVP za mene je kombinacija dva faktora:

  • Izvodljiva ideja predstavljena kao proizvod (tj. naslikana na poslovnom platnu). Uvijek treba postojati jasno razumijevanje zašto i za koga pravimo proizvod. Ponekad projekti s dobro utemeljenim dizajnom, ali bez prototipa, osvoje nagrade, i to nije iznenađujuće. Nažalost, mnogi učesnici ne mogu zanemariti gorčinu poraza i svoje neuspjehe pripisati kratkovidosti organizatora, koji na sljedećim hakatonima nastavljaju krojiti modele za nepoznatog.
  • Neki pokazatelji da možete napraviti ovaj proizvod (aplikacija, šifra, opis cjevovoda).

Dešava se da ekipa na hakaton dođe sa gotovim rješenjem i pokuša ga “skrojiti” prema uputama organizatora. Takvi timovi bivaju isključeni tokom tehničkog pregleda ili se „broji“ samo dio koji su uradili na mjestu. Takve timove nisam vidio kao pobjednike, ali mislim da im je ipak isplativo igrati zbog buduće vrijednosti (kontakti, skupovi podataka itd.).

Postoje li primjeri dovođenja zanata implementiranih na hakatonima u proizvodnju/startup?
Da. Imao sam tri slučaja kada su ga doveli u proizvodnju. Jednom sam, dvaput - tuđim rukama, na osnovu mojih ideja i koda koji sam napisao na hakatonu. Poznajem i par timova koji su nastavili da sarađuju sa kompanijom kao konsultanti. Ne znam konačne rezultate, ali najvjerovatnije je nešto završeno. Ni sam nisam organizovao startape i ne znam da li iko jeste, mada sam siguran da ima primera.

Nakon učešća na mnogim hakatonima, koji biste savjet dali sebi da možete da se vratite u prošlost?

  1. Taktika je važnija od manevara. Zamislite svako rješenje kao gotov proizvod. Ideja, Jupiter laptop, algoritam ništa ne vrijede ako nije jasno ko će to platiti.
  2. Prije nego što dizajnirate bilo šta, odgovorite na pitanje ne "šta?", već "zašto?" I kako?". Primjer: kada dizajnirate bilo koje ML rješenje, prvo razmislite o idealnom algoritmu: šta prima kao ulaz, kako se njegova predviđanja koriste u budućnosti?
  3. Budite dio tima.

Čime se obično hrane na hakatonima?
Obično je hrana na hakatonima loša: pica, energetska pića, gazirana pića. Gotovo uvijek hrana je organizirana u obliku švedskog stola (ili stola za posluživanje) za koji se čeka veliki red. Obično ne daju hranu noću, iako je bio slučaj na jednom takmičenju u Parizu gde se hrana ostavljala preko noći - čips, krofne i kola. Zamislit ću proces razmišljanja organizatora: „Pa šta tamo jedu programeri? Oh, tačno! Čips, krofne - to je sve. Dajmo im ovo smeće.” Sutradan sam pitao organizatore: “Domci, da li je moguće napraviti nešto drugačije za noć? Pa, možda malo kaše?” Nakon toga su me gledali kao da sam idiot. Čuveno francusko gostoprimstvo.

Na dobrim hakatonima hrana se naručuje u kutijama, postoji podjela na obične, vegetarijanske i košer obroke. Osim toga, stavili su i frižider sa jogurtima i muslijima - za one koji žele da nešto zalogaju. Čaj, kafa, voda - standardno. Sjećam se hackathona Hack Moscow 2 - zdušno su me hranili borščom i kotletima s pire krompirom u kantini ureda 1C.

Razumnost hakatona zavisi, da tako kažem, od profesionalne sfere organizatora (na primer, najbolje hakatone provode konsultanti)?
Najbolji hakatoni su bili organizatori koji su ili ranije organizovali hakatone ili su učestvovali u njima. Možda je to jedini faktor od kojeg zavisi kvalitet događaja.

Kako shvatiti da niste noob i da je vrijeme za hakaton?
Najbolje vrijeme za odlazak na hakaton je prije godinu dana. Drugo najbolje vrijeme je sada. Zato napredujte, pravite greške, učite – u redu je. Čak ni neuronska mreža - najveći čovjekov izum još od kotača i nagiba nad drvećem - ne može razlikovati mačku od psa u prvoj epohi treninga.

Koje „crvene zastavice“ odmah ukazuju da događaj neće biti baš dobar i da nema potrebe za gubitkom vremena?

  • Jasan opis onoga što treba učiniti (relevantno za hakatone proizvoda). Ako prilikom registracije dobijete jasan zadatak, onda je bolje ostati kod kuće. U mom sećanju nije postojao nijedan dobar hakaton sa tehničkim specifikacijama. Za poređenje: U redu - uradite nam nešto vezano za analizu audio razgovora. Loše - napravite nam aplikaciju koja bi mogla podijeliti razgovor na dva odvojena audio zapisa za svaku osobu.
  • Mali nagradni fond. Ako se od vas traži da napravite “Tinder za online prodavnicu sa AI” a nagrada za prvo mjesto je 500 eura i minimalna veličina tima od 5 ljudi, vjerovatno ne vrijedi gubiti vrijeme (da, ovo je pravi hakaton koji je održano u Minhenu).
  • Nedostatak podataka (relevantno za hakatone nauke o podacima). Organizatori obično pružaju osnovne informacije o događaju, a ponekad i uzorke skupa podataka. Ako to nisu dali, pitajte, neće vas ništa koštati. Ako u roku od 2-3 nije jasno koji će podaci biti dostavljeni i da li će se uopće dati, ovo je crvena zastavica.
  • Novi organizatori. Ne budite lijeni i guglajte informacije o organizatorima hakatona. Ako prvi put održavaju događaj ove vrste, velika je vjerovatnoća da će nešto poći po zlu. S druge strane, ako su organizator i članovi žirija već održavali hakatone ili su aktivno učestvovali u prošlosti, ovo je zelena zastava.

Na jednom hakatonu su mi rekli: „Imao si najbolje rješenje za kratko vrijeme, ali izvini, mi ocjenjujemo timski rad, a ti si radio sam. E sad, ako uzmeš studenta ili djevojku u svoj tim...”? Da li ste se ikada susreli sa takvom nepravdom? Kako ste se snašli?
Da, sreo sam ga više puta. Stoičan sam prema svemu što se dešava: uradio sam sve što je bilo u mojoj moći, ako nije išlo, neka bude.

Zašto sve ovo radiš?
Sve ovo je samo iz dosade.

izvor: www.habr.com

Dodajte komentar