Q: Hackathons

Q: Hackathons

Završni dio hackathon trilogije. U prvi dio Govorio sam o motivaciji za sudjelovanje na takvim događanjima. Drugi dio bio je posvećen pogreškama organizatora i njihovim rezultatima. Završni dio odgovorit će na pitanja koja nisu ušla u prva dva dijela.

Reci nam kako si počeo sudjelovati u hackathonima.
Studirao sam za magisterij na Sveučilištu u Lappeenranti dok sam rješavao natjecanja u analizi podataka. Moj tipičan dan izgledao je ovako: ustajanje u 8, par parova na fakultetu, pa natjecanja i tečajevi do ponoći (dok se broji predaja, gledam predavanja ili čitam članke). Takav strogi raspored urodio je plodom i pobijedio sam na natjecanju za analizu podataka MERC-2017 (o čemu se čak i raspravljalo objaviti na hubu). Pobjeda mi je dala samopouzdanje, a kada sam slučajno naišao na informaciju o SkinHack 2 hackathonu u Moskvi, odlučio sam posjetiti svoje roditelje i ujedno saznati što je to hackathon.

Sam hackathon ispao je prilično smiješan. Postojale su dvije staze o analizi podataka s jasnim metrikama i skupom podataka s novčanom nagradom od 100 tisuća rubalja. Treća staza bila je o razvoju aplikacije s nagradom od 50 tisuća kuna, a nije bilo sudionika. Organizator je u jednom trenutku rekao da prozor s tipkom bez funkcionalnosti može osvojiti 50k jer se nagrada ne može isplatiti. Nisam počeo učiti programirati aplikacije (ne natječem se tamo gdje me lako može “prevrnuti”), ali za mene je to bila jasna poruka da na hackathonima nema gužve.

Zatim sam sam riješio obje staze analize podataka. Pronašao sam curenje u podacima što mi je omogućilo da dobijem idealnu brzinu, ali stupac s curenjem nije bio u testnim podacima koje sam primio dva sata prije kraja događaja (usput, tada sam shvatio da prisutnost "ciljanog" stupca u vlaku ne računa se kao curenje). U isto vrijeme se otvorila ljestvica, moj podnesak bez lica zauzeo je treće mjesto od pet, bio je veliki zaostatak za prvim i odlučio sam ne gubiti vrijeme i otišao.

Nakon što sam svježeg uma analizirao što se dogodilo, pronašao sam gomilu grešaka (jedna od mojih navika je da mentalno listam što se dogodilo s bilježnicom i analiziram greške, njihov uzrok i što se moglo promijeniti - tako ugodno nasljeđe poluprofesionalne igre pokera). Ali jedno je bilo jasno – hackathoni imaju veliku vrijednost i jednostavno sam to morao implementirati. Nakon ovog događaja počeo sam pratiti događaje i grupe, a kasniji hackathon nije dugo čekao. Zatim još jedan, pa još jedan...

Zašto ti radiš hackathone, a ne Kaglo?
Kagle mi se trenutno ne sviđa. Od određene razine vještine, bez posebnih razloga za sudjelovanje, kagle postaje manje koristan od drugih aktivnosti. Puno sam sudjelovao i prije, očito sam se uspio nekako “skinuti”.

Zašto hackathons, a ne rad na vlastitom projektu?
Sviđa mi se ideja da svojim rukama sporim tempom napravim nešto cool. Dečki iz ODS-a su se organizirali ODS projekti kućnih ljubimaca za sve koji žele provesti vikend radeći na svom projektu sa istomišljenicima. Mislim da ću im se uskoro i ja 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 ne pronađete ništa, možete pogledati ovdje: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Pripremate li plan rješenja prije sudjelovanja ili se o svemu odlučuje u hodu? Na primjer, tjedan dana prije hackathona, mislite li: "Ovdje ćemo trebati tog i tog stručnjaka, morat ćemo ga potražiti"?
Ako je hackathon za hranu, da, spremam se. Nekoliko tjedana prije toga smišljam što ću raditi, smišljam tko bi mogao biti koristan i okupljam tim prijatelja ili sudionika s prošlih hackathona.

Je li stvarno moguće sam hakirati hackathon? Što učiniti ako nema ekipe?
Data science hackathoni su stvarni (ja sam živi primjer toga), nisam vidio hackathone u trgovinama, iako i ja tako mislim. Nažalost, ponekad organizatori nameću ograničenje minimalnog broja sudionika u timu. Mislim da je to zbog činjenice da svi "usamljenici" ne dođu do finala (odnosno, jednostavno odu s prvim poteškoćama), sudjelovanje u timu još uvijek koči. Čak i nakon događaja od vas se očekuje nastavak rada na projektu. S timom će biti lakše dovesti projekt do kraja.

Općenito, moj savjet je da uvijek sudjelujete s timom. Ako nemate svoj tim, organizatori će vam uvijek pomoći da ga pronađete ili osmislite.

Kako se nosite s umorom tijekom hackathona?
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 rad (spavanje, prehrana, izlazak na svježi zrak, vježbe, minute pažnje, pravilna komunikacija s timom i promjena aktivnosti), tada se radno vrijeme može povećati na 12-14. Nakon takvog rada osjećat ćete se iscrpljeno, ali će to biti ugodan umor. Kodiranje bez sna i pauze, isprekidano energetskim pićima, recept je za neuspjeh.

Imate li svoje gotove cjevovode za hackathone? Kako ste ih nabavili, kako su organizirani (nalaze se u mapama s .py datotekama, svaki za svoju zadaću itd.) i kako ih sami početi stvarati?
Ne koristim potpuno gotova rješenja s prošlih hackathona u novima, ali imam svoj zoološki vrt modela i cjevovoda s prošlih natjecanja. Ne moram ispočetka prepisivati ​​standardne dijelove (na primjer, ispravno ciljno kodiranje ili jednostavnu rešetku za izdvajanje namjere iz teksta), što mi štedi puno vremena.

U ovom trenutku to izgleda ovako: za svako natjecanje ili hackathon postoji vlastiti repo na GitHubu, pohranjuje bilježnice, skripte i malu dokumentaciju o tome što se događa. Osim toga, postoji zasebno spremište za sve vrste "trikova" u kutiji (poput ispravnog ciljnog kodiranja s unakrsnom provjerom). Mislim da ovo nije najelegantnije rješenje, ali meni za sada odgovara.

Započeo bih spremanjem svog koda u mape i pisanjem kratke dokumentacije (zašto, što, kako sam to napravio i rezultat).

Je li realno u tako kratkom roku pripremiti MVP od nule ili svi sudionici dolaze s gotovim rješenjima?
Za projekte koji se odnose na podatkovnu znanost mogu reći samo - da, moguće je. MVP je za mene kombinacija dva faktora:

  • Održiva ideja predstavljena kao proizvod (tj. naslikana na poslovnom platnu). Uvijek treba postojati jasno razumijevanje zašto i za koga proizvodimo proizvod. Ponekad projekti s dobro utemeljenim dizajnom, ali bez prototipa, osvajaju nagrade i to ne čudi. Nažalost, mnogi sudionici ne mogu zanemariti gorčinu poraza i svoje neuspjehe pripisuju kratkovidnosti organizatora, nastavljajući krojiti modele za nepoznate osobe na sljedećim hackathonima.
  • Neki pokazatelj da možete napraviti ovaj proizvod (aplikacija, šifra, opis cjevovoda).

Dogodi se da tim dođe na hackathon s gotovim rješenjem i pokuša ga “skrojiti” prema uputama organizatora. Takvi timovi bivaju odsječeni tijekom tehničkog pregleda ili se "računa" samo dio koji su odradili na mjestu. Nisam vidio takve momčadi kao pobjednike, ali mislim da im je ipak isplativo igrati zbog buduće vrijednosti (kontakti, skupovi podataka itd.).

Postoje li neki primjeri dovođenja zanata implementiranih na hackathonima u proizvodnju/startup?
Da. Imao sam tri slučaja kada su ga doveli u proizvodnju. Jednom ja, dvaput - tuđim rukama, na temelju svojih ideja i koda koji sam napisao na hackathonu. Poznajem i par timova koji su nastavili surađivati ​​s tvrtkom kao konzultanti. Ne znam konačne rezultate, ali najvjerojatnije je nešto dovršeno. Sam nisam organizirao startupe i ne znam da itko jest, iako sam siguran da ima primjera.

Nakon što ste sudjelovali u mnogim hackathonima, što biste savjetovali sebi da se možete vratiti u prošlost?

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

Čime se obično hrane na hackathonima?
Obično je hrana na hackathonima loša: pizza, energetska pića, sok. Gotovo uvijek hrana je organizirana u obliku švedskog stola (ili stola za posluživanje) za kojim postoji veliki red. Obično ne daju hranu noću, iako je na jednom natjecanju u Parizu bio slučaj da je hrana ostavljena preko noći - čips, krafne i cola. Zamislit ću misaoni proces organizatora: “Pa što programeri tamo jedu? Oh, točno! Čips, krafne - to je sve. Dajmo im ovo smeće.” Sutradan sam pitao organizatore: “Dečki, je li 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 hackathonima hrana se naručuje u kutijama, postoji podjela na obične, vegetarijanske i košer obroke. Osim toga, stavili su hladnjak s jogurtima i muslijima - za one koji žele nešto prigristi. Čaj, kava, voda - standard. Sjećam se hackathona Hack Moscow 2 - u kantini ureda 1C od srca su me hranili borščem i kotletima s pire krumpirom.

Razumnost hackathona ovisi, da tako kažem, o profesionalnoj sferi organizatora (na primjer, najbolje hackathone provode konzultanti)?
Najbolji hackathoni bili su od organizatora koji su već organizirali hackathone ili su u njima već sudjelovali. Možda je to jedini faktor o kojem ovisi kvaliteta događaja.

Kako razumjeti da nisi noob i da je vrijeme za hackathon?
Najbolje vrijeme za odlazak na hackathon je prije godinu dana. Drugo najbolje vrijeme je sada. Zato krenite, griješite, učite - u redu je. Čak ni neuronska mreža - najveći čovjekov izum još od kotača i gradijenta koji raste preko drveća - ne može razlikovati mačku od psa u prvoj epohi dresure.

Koje "crvene zastavice" odmah ukazuju da događaj neće biti baš dobar i da nema potrebe gubiti vrijeme?

  • Jasan opis onoga što treba učiniti (relevantno za hackathone proizvoda). Ako tijekom registracije dobijete jasan zadatak, onda je bolje ostati kod kuće. U mom sjećanju nije postojao niti jedan dobar hackathon s tehničkim specifikacijama. Za usporedbu: U redu – učinite nam nešto vezano uz analizu audio razgovora. Loše - napravite nam aplikaciju koja bi mogla podijeliti razgovor u dva odvojena audio zapisa za svaku osobu.
  • Mali nagradni fond. Ako se od vas traži da napravite “Tinder za internetsku trgovinu s umjetnom inteligencijom”, a nagrada za prvo mjesto je 500 eura i minimalna veličina tima od 5 ljudi, vjerojatno ne vrijedi gubiti vrijeme (da, ovo je pravi hackathon koji je održan u Münchenu).
  • Nedostatak podataka (relevantno za hackathone znanosti o podacima). Organizatori obično daju osnovne informacije o događaju, a ponekad i uzorak skupa podataka. Ako nisu osigurali, pitajte, neće vas ništa koštati. Ako u roku od 2-3 nije jasno koji će podaci biti dostavljeni i hoće li uopće biti dostavljeni, to je crvena zastavica.
  • Novi organizatori. Nemojte biti lijeni i Google informacije o organizatorima hackathona. Ako prvi put održavaju ovakav događaj, velika je vjerojatnost da će nešto poći po zlu. S druge strane, ako su organizator i članovi žirija već održali hackathone ili aktivno sudjelovali u prošlosti, to je zelena zastavica.

Na jednom hackathonu su mi rekli: “Imao si najbolje rješenje u kratkom vremenu, ali oprosti, mi ocjenjujemo timski rad, a ti si radio sam. E sad, ako ste u tim uzeli studenta ili djevojku...”? Jeste li se ikada susreli s takvom nepravdom? Kako ste se snašli?
Da, susreo sam se s tim više puta. Stoički gledam na sve što se događa: učinio sam sve što je bilo u mojoj moći, ako nije išlo, neka bude.

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

Izvor: www.habr.com

Dodajte komentar