QA: Hackathon

QA: Hackathon

Ang huling bahagi ng hackathon trilogy. SA ang unang bahagi I talked about the motivation to participate in such events. Ang ikalawang bahagi ay nakatuon sa mga pagkakamali ng mga organizer at ang kanilang mga resulta. Sasagutin ng huling bahagi ang mga tanong na hindi akma sa unang dalawang bahagi.

Sabihin sa amin kung paano ka nagsimulang lumahok sa mga hackathon.
Nag-aral ako ng master's degree sa University of Lappeenranta habang nilulutas ang mga kumpetisyon sa pagsusuri ng data. Ang aking karaniwang araw ay ganito: bumangon ng 8, ilang mag-asawa sa unibersidad, pagkatapos ay mga kumpetisyon at kurso hanggang hatinggabi (habang nagbibilang ang pagsusumite, nanonood ako ng mga lektura o nagbabasa ng mga artikulo). Nagbunga ang ganoong mahigpit na iskedyul, at nanalo ako sa MERC-2017 data analysis competition (na tinalakay pa nga post sa hub). Ang tagumpay ay nagbigay sa akin ng kumpiyansa, at nang hindi ko sinasadyang makakita ng impormasyon tungkol sa SkinHack 2 hackathon sa Moscow, nagpasya akong bisitahin ang aking mga magulang at sa parehong oras ay alamin kung ano ang hackathon.

Ang hackathon mismo ay naging medyo nakakatawa. Mayroong dalawang track sa pagsusuri ng data na may malinaw na sukatan at isang dataset na may premyong pera na 100k rubles. Ang ikatlong track ay nasa pagbuo ng app na may premyo na 50k, at walang mga kalahok. Sa isang punto, sinabi ng tagapag-ayos na ang isang window na may isang pindutan na walang pag-andar ay maaaring manalo ng 50k, dahil ang premyo ay hindi maaaring bayaran. Hindi ako nagsimulang matuto kung paano mag-program ng mga application (hindi ako nakikipagkumpitensya kung saan madali akong "mabaligtad"), ngunit para sa akin ito ay isang malinaw na mensahe na ang mga patlang sa hackathon ay hindi masikip.

Pagkatapos ay nalutas ko ang parehong mga track ng pagsusuri ng data nang mag-isa. Natagpuan ko ang isang pagtagas sa data na nagpapahintulot sa akin na makuha ang perpektong bilis, ngunit ang column na may pagtagas ay wala sa data ng pagsubok na natanggap ko dalawang oras bago matapos ang kaganapan (nga pala, pagkatapos ay naunawaan ko na ang presensya ng isang column na "target" sa tren ay hindi binibilang bilang isang leak ). Kasabay nito ang pagbukas ng leaderboard, ang aking pagsusumite na walang mukha ay nakakuha ng ikatlong puwesto sa lima, malaki ang agwat sa una at nagpasya akong huwag mag-aksaya ng oras at umalis.

Pagkatapos kong pag-aralan nang may panibagong isip ang nangyari, nakakita ako ng isang grupo ng mga pagkakamali (isa sa aking mga gawi ay mag-scroll sa isip sa kung ano ang nangyari sa notepad at pag-aralan ang mga pagkakamali, ang kanilang dahilan, at kung ano ang maaaring mabago - isang kaaya-ayang pamana. ng isang semi-propesyonal na larong poker). Ngunit isang bagay ang tiyak na malinaw - mayroong maraming halaga sa hackathon, at kailangan ko lang itong ipatupad. Pagkatapos ng kaganapang ito, sinimulan kong subaybayan ang mga kaganapan at grupo, at ang kasunod na hackathon ay hindi nagtagal. Tapos isa pa, isa pa...

Bakit ka nagha-hackathon at hindi Kagalo?
Hindi ko gusto si Kagle sa ngayon. Mula sa isang tiyak na antas ng kasanayan, nang walang tiyak na mga dahilan para sa pakikilahok, ang kagle ay nagiging hindi gaanong kapaki-pakinabang kaysa sa iba pang mga aktibidad. Marami akong nakilahok noon, tila nagawa kong kahit papaano ay "bumaba".

Bakit hackathon at hindi gumagana sa iyong sariling proyekto?
Gusto ko ang ideya ng paggawa ng isang bagay na cool gamit ang aking sariling mga kamay sa mabagal na bilis. Ang mga lalaki mula sa ODS ay nakaayos Mga proyekto ng alagang hayop ng ODS para sa lahat na gustong magpalipas ng katapusan ng linggo sa pagtatrabaho sa kanilang proyekto kasama ang mga taong katulad ng pag-iisip. Sa tingin ko malapit na akong sumama sa kanila.

Paano mo mahahanap ang mga kaganapan?
Pangunahing pinagmulan - hackathon.com (world) at telegrama chat Mga hacker ng Russia (Russia). Dagdag pa, lumilitaw ang mga anunsyo ng mga kaganapan sa advertising sa mga social network at sa linkedin. Kung wala kang mahanap, maaari kang tumingin dito: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Naghahanda ka ba ng plano ng solusyon bago lumahok o napagpasyahan ba ang lahat nang mabilis? Halimbawa, isang linggo bago ang hackathon, sa palagay mo: "Kailangan natin ang ganyan at ganoong espesyalista dito, kakailanganin nating hanapin ito"?
Kung ang hackathon ay para sa pagkain, oo, naghahanda ako. Ilang linggo bago, inaalam ko kung ano ang aking gagawin, alamin kung sino ang maaaring maging kapaki-pakinabang, at mag-ipon ng isang pangkat ng mga kaibigan o kalahok mula sa mga nakaraang hackathon.

Posible bang mag-hack ng hackathon nang mag-isa? Ano ang gagawin kung walang koponan?
Ang data science hackathon ay totoo (ako ay isang buhay na halimbawa nito), hindi pa ako nakakita ng mga grocery hackathon, bagaman sa palagay ko rin. Sa kasamaang palad, kung minsan ang mga organizer ay nagpapataw ng limitasyon sa pinakamababang bilang ng mga kalahok sa isang koponan. Sa palagay ko ito ay dahil sa ang katunayan na hindi lahat ng "nag-iisa" ay umabot sa finals (iyon ay, sila ay umalis na may mga unang paghihirap); ang paglahok sa isang koponan ay nagtitimpi pa rin. Kahit na pagkatapos ng kaganapan, ikaw ay inaasahang magpatuloy sa paggawa sa proyekto. Magiging mas madaling maisakatuparan ang proyekto sa isang koponan.

Sa pangkalahatan, ang payo ko ay palaging lumahok sa isang koponan. Kung wala kang sariling team, palaging tutulungan ka ng mga organizer na maghanap o gumawa ng isa.

Paano mo makayanan ang pagkapagod sa panahon ng hackathon?
Sa hackathon ay binibigyan ka ng 2 araw para magtrabaho, iyon ay 48 oras (30-48 oras, kunin natin ang 48 para sa madaling pagbilang). Nag-aalis kami ng oras para sa pagtulog (16-20 na oras), na nag-iiwan ng hindi hihigit sa 30. Sa mga ito, 8 oras (sa karaniwan) ang talagang gagastusin sa produktibong trabaho. Kung maayos mong inayos ang iyong trabaho (pagtulog, nutrisyon, paglabas sa sariwang hangin, mga ehersisyo, minuto ng pag-iisip, wastong komunikasyon sa koponan at paglipat ng mga aktibidad), kung gayon ang malalim na oras ng trabaho ay maaaring tumaas sa 12-14. Pagkatapos ng ganoong trabaho ay makakaramdam ka ng pagod, ngunit ito ay magiging kaaya-ayang pagkapagod. Ang pag-coding nang walang tulog at pahinga, na nagambala ng mga inuming enerhiya, ay isang recipe para sa kabiguan.

Mayroon ka bang sariling mga nakahandang pipeline para sa hackathon? Paano mo nakuha ang mga ito, paano nakaayos ang mga ito (nasa mga folder na may mga .py file, bawat isa para sa sarili nitong gawain, atbp.) at kung paano simulan ang paggawa ng mga ito sa iyong sarili?
Hindi ako gumagamit ng ganap na handa na mga solusyon mula sa mga nakaraang hackathon sa mga bago, ngunit mayroon akong sariling zoo ng mga modelo at pipeline mula sa mga nakaraang kumpetisyon. Hindi ko kailangang muling isulat ang mga karaniwang piraso mula sa simula (halimbawa, tamang target na pag-encode o isang simpleng grid para sa pagkuha ng layunin mula sa teksto), na nakakatipid sa akin ng maraming oras.

Sa ngayon, ganito ang hitsura nito: para sa bawat kumpetisyon o hackathon ay may sariling repo sa GitHub, nag-iimbak ito ng mga notebook, script at maliit na dokumentasyon tungkol sa kung ano ang nangyayari. Dagdag pa, mayroong isang hiwalay na repo para sa lahat ng uri ng mga naka-box na "trick" (tulad ng tamang target na pag-encode na may cross-validation). Sa palagay ko hindi ito ang pinaka-eleganteng solusyon, ngunit nababagay ito sa akin sa ngayon.

Magsisimula ako sa pamamagitan ng pag-save ng lahat ng aking code sa mga folder at pagsulat ng maikling dokumentasyon (bakit, ano, paano ko ito ginawa at ang resulta).

Makatotohanan ba na maghanda ng MVP mula sa simula sa napakaikling panahon o lahat ba ng kalahok ay may mga handa na solusyon?
Ang masasabi ko lang tungkol sa mga proyektong nauugnay sa data science - oo, posible ito. Ang MVP para sa akin ay kumbinasyon ng dalawang salik:

  • Isang praktikal na ideya na ipinakita bilang isang produkto (ibig sabihin, ipininta sa isang canvas ng negosyo). Dapat palaging may malinaw na pag-unawa kung bakit at para kanino tayo gumagawa ng isang produkto. Minsan ang mga proyekto na may mahusay na itinatag na disenyo, ngunit walang prototype, ay nanalo ng mga premyo, at hindi ito nakakagulat. Sa kasamaang palad, maraming mga kalahok ay hindi maaaring balewalain ang kapaitan ng pagkatalo at ipatungkol ang kanilang mga pagkabigo sa maikling-sightedness ng mga organizers, patuloy na pagputol ng mga modelo para sa isang taong hindi kilala sa susunod na hackathon.
  • Ang ilang tagapagpahiwatig na maaari mong gawin ang produktong ito (application, code, paglalarawan ng mga pipeline).

Ito ay nangyayari na ang isang koponan ay dumating sa isang hackathon na may handa na solusyon at sinusubukang "iayon" ito sa mga tagubilin ng mga organizer. Ang mga naturang koponan ay pinutol sa panahon ng teknikal na screening o ang bahagi lamang na ginawa nila sa site ay "binibilang." Hindi ko pa nakikita ang mga ganoong koponan bilang mga nanalo, ngunit sa palagay ko ay kumikita pa rin para sa kanila na maglaro dahil sa halaga sa hinaharap (mga contact, dataset, atbp.).

Mayroon bang anumang mga halimbawa ng pagdadala ng mga crafts na ipinatupad sa hackathon sa produksyon/pagsisimula?
Oo. Mayroon akong tatlong kaso noong dinala nila ito sa produksyon. Minsan sa aking sarili, dalawang beses - sa mga kamay ng ibang tao, batay sa aking mga ideya at code na isinulat ko sa hackathon. May alam din akong ilang team na patuloy na nakipagtulungan sa kumpanya bilang mga consultant. Hindi ko alam ang mga huling resulta, ngunit malamang na may nakumpleto. Hindi ako nag-organisa ng mga startup sa aking sarili at hindi ko alam na mayroon na, kahit na sigurado akong may mga halimbawa.

Pagkatapos makilahok sa maraming hackathon, anong payo ang ibibigay mo sa iyong sarili kung maaari kang bumalik sa nakaraan?

  1. Ang mga taktika ay mas mahalaga kaysa sa mga maniobra. Isipin ang bawat solusyon bilang isang tapos na produkto. Ang isang ideya, isang Jupiter laptop, isang algorithm ay walang halaga kung hindi malinaw kung sino ang magbabayad para dito.
  2. Bago magdisenyo ng anuman, sagutin ang tanong na hindi "ano?", ngunit "bakit?" At kung paano?". Halimbawa: kapag nagdidisenyo ng anumang solusyon sa ML, isipin muna ang perpektong algorithm: ano ang natatanggap nito bilang input, paano ginagamit ang mga hula nito sa hinaharap?
  3. Maging bahagi ng isang koponan.

Ano ang kadalasang pinapakain nila sa hackathon?
Kadalasan ang pagkain sa hackathon ay mahirap: pizza, energy drink, soda. Halos palaging ang pagkain ay nakaayos sa anyo ng isang buffet (o serving table) kung saan mayroong malaking pila. Karaniwang hindi sila nagbibigay ng pagkain sa gabi, bagama't nagkaroon ng kaso sa isang kumpetisyon sa Paris kung saan naiwan ang pagkain nang magdamag - chips, donuts at cola. Iisipin ko ang proseso ng pag-iisip ng mga organizer: "So ano ang kinakain ng mga programmer doon? Oh, eksakto! Chips, donuts - iyon lang. Bigyan natin sila ng basurang ito." Kinabukasan, tinanong ko ang mga tagapag-ayos: β€œGuys, posible bang gumawa ng kakaiba para sa gabi? Well, baka naman sinigang?” Pagkatapos noon ay tumingin sila sa akin na para akong tulala. Sikat na French hospitality.

Sa mahusay na hackathon, ang pagkain ay inorder sa mga kahon; mayroong isang dibisyon sa mga regular, vegetarian at kosher na pagkain. Plus naglagay sila ng refrigerator na may yoghurts at muesli - para sa mga gustong magmeryenda. Tsaa, kape, tubig - pamantayan. Naaalala ko ang hackathon ng Hack Moscow 2 - buong puso nilang pinakain sa akin ang borscht at mga cutlet na may niligis na patatas sa canteen ng opisina ng 1C.

Ang katinuan ng mga hackathon ay nakasalalay, kaya na magsalita, sa propesyonal na globo ng mga organizer (halimbawa, ang pinakamahusay na hackathon ay isinasagawa ng mga consultant)?
Ang pinakamahusay na mga hackathon ay mula sa mga organizer na nag-organisa ng hackathon bago o lumahok sa mga ito dati. Marahil ito ang tanging kadahilanan kung saan nakasalalay ang kalidad ng kaganapan.

Paano maiintindihan na hindi ka isang noob at oras na para sa isang hackathon?
Ang pinakamahusay na oras upang pumunta sa isang hackathon ay isang taon na ang nakalipas. Ang pangalawang pinakamahusay na oras ay ngayon. Kaya sige, magkamali, matuto - okay lang. Kahit na ang isang neural network - ang pinakadakilang imbensyon ng tao mula noong ang gulong at gradient boosting sa ibabaw ng mga puno - ay hindi maaaring makilala ang isang pusa mula sa isang aso sa unang panahon ng pagsasanay.

Anong "mga pulang bandila" ang agad na nagpapahiwatig na ang kaganapan ay hindi magiging napakahusay at hindi na kailangang mag-aksaya ng oras?

  • Isang malinaw na paglalarawan ng kung ano ang kailangang gawin (may kaugnayan para sa mga hackathon ng produkto). Kung sa panahon ng pagpaparehistro ay bibigyan ka ng isang malinaw na gawain, pagkatapos ay mas mahusay na manatili sa bahay. Sa aking memorya, walang isang mahusay na hackathon na may mga teknikal na detalye. Para sa paghahambing: Okay - gumawa kami ng isang bagay na may kaugnayan sa pagsusuri ng mga audio na pag-uusap. Masama - gumawa kami ng isang application na magagawang hatiin ang isang pag-uusap sa dalawang magkahiwalay na audio track para sa bawat tao.
  • Maliit na pondo ng premyo. Kung hihilingin sa iyo na gumawa ng β€œTinder para sa isang online na tindahan na may AI” at ang premyo para sa unang lugar ay 500 euros at isang minimum na laki ng koponan na 5 tao, malamang na hindi ito nagkakahalaga ng pag-aaksaya ng iyong oras (oo, ito ay isang tunay na hackathon na gaganapin sa Munich).
  • Kakulangan ng data (may kaugnayan para sa data science hackathon). Karaniwang nagbibigay ang mga organizer ng pangunahing impormasyon tungkol sa kaganapan at kung minsan ay isang sample na dataset. Kung hindi nila ito naibigay, magtanong, wala itong babayaran sa iyo. Kung sa loob ng 2-3 ay hindi malinaw kung anong data ang ibibigay at kung ito ay ibibigay man, ito ay isang pulang bandila.
  • Mga bagong organizer. Huwag maging tamad at impormasyon sa Google tungkol sa mga organizer ng hackathon. Kung magdaraos sila ng ganitong uri ng kaganapan sa unang pagkakataon, malaki ang posibilidad na may magkamali. Sa kabilang banda, kung ang tagapag-ayos at mga miyembro ng hurado ay nakapagsagawa na ng mga hackathon o aktibong lumahok sa nakaraan, ito ay isang berdeng bandila.

Sa isang hackathon sinabi nila sa akin: "Nakuha mo ang pinakamahusay na solusyon sa maikling panahon, ngunit paumanhin, sinusuri namin ang pagtutulungan ng magkakasama, at nagtrabaho ka nang mag-isa. Ngayon, kung kumuha ka ng isang estudyante o babae sa iyong koponan...”? Nakaranas ka na ba ng ganitong kawalang-katarungan? Paano mo nakayanan?
Oo, nakilala ko ito ng higit sa isang beses. Ako ay matatag sa lahat ng nangyayari: Ginawa ko ang lahat sa aking kapangyarihan, kung hindi ito gagana, maging ito.

Bakit mo ginagawa ang lahat ng ito?
Ang lahat ng ito ay dala lamang ng pagkabagot.

Pinagmulan: www.habr.com

Magdagdag ng komento