Giunsa ug ngano nga nakadaog kami sa Big Data track sa hackathon sa Urban Tech Challenge

Ang akong ngalan kay Dmitry. Ug gusto nako nga hisgutan kung giunsa ang among team nakaabot sa finals sa Urban Tech Challenge hackathon sa Big Data track. Isulti ko dayon nga dili kini ang una nga hackathon diin ako miapil, ug dili ang una nga nakuha nako ang mga premyo. Niining bahina, sa akong istorya gusto nakong ipahayag ang pipila ka mga kinatibuk-ang obserbasyon ug mga konklusyon bahin sa industriya sa hackathon sa kinatibuk-an, ug ihatag ang akong punto sa panglantaw nga sukwahi sa negatibo nga mga pagsusi nga nagpakita sa internet diha-diha dayon pagkahuman sa Urban Tech Challenge (alang sa pananglitan kini).

Busa una sa pipila ka mga kinatibuk-ang obserbasyon.

1. Makapatingala nga ubay-ubay nga mga tawo ang wala’y hunahuna nga ang usa ka hackathon usa ka klase sa kompetisyon sa sports diin ang labing kaayo nga mga coder nagdaog. Sayop kini. Wala nako gikonsiderar ang mga kaso kung ang mga tig-organisar sa hackathon mismo wala mahibal-an kung unsa ang ilang gusto (nakita ko usab kana). Apan, ingon nga usa ka lagda, ang kompanya nga nag-organisar sa usa ka hackathon nagpadayon sa kaugalingon nga mga katuyoan. Mahimong lainlain ang ilang lista: mahimo kini usa ka teknikal nga solusyon sa pipila nga mga problema, pagpangita alang sa bag-ong mga ideya ug mga tawo, ug uban pa. Kini nga mga katuyoan kanunay nga nagtino sa pormat sa kalihokan, ang oras niini, online / offline, kung giunsa ang pagporma sa mga buluhaton (ug kung maporma ba kini), kung adunay usa ka pagsusi sa code sa hackathon, ug uban pa. Ang mga koponan ug kung unsa ang ilang gibuhat gisusi gikan sa kini nga punto sa panan-aw. Ug kadtong mga koponan nga labing maayo nga naigo sa punto nga kinahanglan sa kompanya nga makadaog, ug daghan ang nakaabut sa kini nga punto nga hingpit nga wala’y panimuot ug aksidente, naghunahuna nga nag-apil gyud sila sa usa ka kompetisyon sa sports. Gipakita sa akong mga obserbasyon nga aron madasig ang mga partisipante, ang mga tig-organisar kinahanglan maghimo labing menos nga hitsura sa usa ka palibot sa sports ug parehas nga mga kondisyon, kung dili sila makadawat usa ka balud sa negatibo, sama sa pagrepaso sa ibabaw. Apan kami nagpalayo.

2. Busa ang mosunod nga konklusyon. Ang mga tig-organisar interesado sa mga partisipante nga moadto sa hackathon nga adunay ilang kaugalingon nga trabaho, usahay labi pa nga nag-organisar sila usa ka yugto sa online nga sulat alang niini nga katuyoan. Kini nagtugot alang sa mas lig-on nga mga solusyon sa output. Ang konsepto sa "kaugalingon nga trabaho" kay relatibo kaayo; Ug mahimo ba kini nga usa ka giandam nang daan nga kalamboan? Apan sa bisan unsa nga kaso, ang lagda magamit, nga akong gipahayag sa porma sa usa ka bantog nga meme:

Giunsa ug ngano nga nakadaog kami sa Big Data track sa hackathon sa Urban Tech Challenge

Aron makadaog, kinahanglan nga adunay usa ka butang, usa ka matang sa kompetisyon nga bentaha: usa ka susama nga proyekto nga imong nahimo kaniadto, kahibalo ug kasinatian sa usa ka piho nga hilisgutan, o usa ka andam nga nahimo nga trabaho nga nahimo sa wala pa magsugod ang hackathon. Oo, dili kini sporting. Oo, tingali dili kini takus sa paningkamot nga gigasto (dinhi, ang tanan nagdesisyon alang sa ilang kaugalingon kung angay ba ang pag-coding sa 3 ka semana sa gabii alang sa usa ka premyo nga 100 ka libo, gibahin sa tibuuk nga koponan, ug bisan sa peligro nga dili makuha kini). Apan, kasagaran, kini ra ang higayon nga maka-una.

3. Pagpili sa grupo. Sama sa akong namatikdan sa hackathon nga mga chat, daghan ang miduol niini nga isyu nga walay hinungdan (bisan kini ang pinaka importante nga desisyon nga magdeterminar sa imong resulta sa hackathon). Sa daghang mga lugar sa kalihokan (sa sports ug sa hackathon) akong nakita nga ang kusgan nga mga tawo lagmit nga mahiusa sa kusgan, ang huyang sa huyang, ang maalamon sa mga maalamon, maayo, sa kinatibuk-an, nakuha nimo ang ideya ... Kini halos ang mahitabo sa mga chat: dili kaayo lig-on nga mga programmer sila diha-diha dayon gikuha, ang mga tawo nga walay bisan unsa nga mga kahanas nga bililhon alang sa usa ka hackathon nagbitay sa chat sa dugay nga panahon ug nagpili usa ka team sa prinsipyo nga kung adunay usa nga mokuha niini. . Sa pipila ka mga hackathon, ang random nga assignment sa mga team gipraktis, ug ang mga organizers nag-angkon nga ang random teams perform not mas grabe pa kay sa mga kasamtangan. Apan sumala sa akong mga obserbasyon, ang madasigon nga mga tawo, ingon nga usa ka lagda, mangita sa usa ka grupo sa ilang kaugalingon;

Mahitungod sa komposisyon sa team, kini usa ka indibidwal ug nagsalig kaayo sa buluhaton. Makaingon ko nga ang minimum nga mahimo nga komposisyon sa team usa ka tigdesinyo - front-end o front-end - back-end. Apan nahibal-an usab nako ang mga kaso kung ang mga koponan nga gilangkoban lamang sa mga front-enders ang nakadaog, nga nagdugang usa ka yano nga back-end sa node.js, o naghimo usa ka mobile application sa React Native; o gikan lamang sa mga backenders nga naghimo og yano nga layout. Sa kinatibuk-an, ang tanan indibidwal kaayo ug nagdepende sa buluhaton. Ang akong plano sa pagpili og team para sa hackathon mao ang mosunod: Nagplano ko nga mag-assemble og team o moapil og team sama sa front-end - back-end - designer (ako mismo ang front-end). Ug dali ra nga nagsugod ako sa pag-chat sa usa ka backender sa sawa ug usa ka tigdesinyo nga midawat sa imbitasyon nga moapil kanamo. Wala madugay, usa ka babaye, usa ka analista sa negosyo, nga nakasinati na sa pagdaog sa usa ka hackathon, miapil kanamo, ug kini nakahukom sa isyu sa iyang pag-apil kanamo. Pagkahuman sa usa ka mubo nga miting, nakahukom kami nga tawgon ang among kaugalingon nga U4 (URBAN 4, upat nga lungsod) pinaagi sa pagtandi sa talagsaon nga upat. Ug nagbutang pa sila ug katugbang nga litrato sa avatar sa among telegram channel.

4. Pagpili og buluhaton. Sama sa akong giingon, kinahanglan ka adunay usa ka kompetisyon nga bentaha, ang buluhaton alang sa hackathon gipili base niini. Base niini, sa pagtan-aw lista sa buluhaton ug pag-assess sa ilang pagkakomplikado, among gihusay ang duha ka buluhaton: usa ka katalogo sa mga bag-ong negosyo gikan sa DPiIR ug usa ka chatbot gikan sa EFKO. Ang buluhaton gikan sa DPIiR gipili sa backender, ang buluhaton gikan sa EFKO gipili nako, tungod kay adunay kasinatian sa pagsulat sa mga chatbot sa node.js ug DialogFlow. Ang buluhaton sa EFKO naglambigit usab sa ML. Ako adunay pipila, dili kaayo halapad, nga kasinatian sa ML. Ug sumala sa mga kondisyon sa problema, ingon kanako nga kini dili mahimo nga masulbad gamit ang mga himan sa ML. Kini nga pagbati nalig-on sa dihang miadto ko sa Urban Tech Challenge meetup, diin gipakita kanako sa mga organizer ang usa ka dataset sa EFKO, diin adunay mga 100 ka mga litrato sa mga layout sa produkto (gikuha gikan sa lain-laing mga anggulo) ug mga 20 ka mga klase sa mga sayop sa layout. Ug, sa samang higayon, kadtong nagmando sa buluhaton gusto nga makab-ot ang klasipikasyon nga kalampusan nga rate sa 90%. Ingon usa ka sangputanan, nag-andam ako usa ka presentasyon sa solusyon nga wala’y ML, ang backender nag-andam usa ka presentasyon base sa katalogo, ug dungan, pagkahuman sa pagtapos sa mga presentasyon, gipadala namon sila sa Urban Tech Challenge. Niini nga yugto, ang lebel sa kadasig ug kontribusyon sa matag partisipante gipadayag. Ang among tigdesinyo wala moapil sa mga diskusyon, mitubag nga ulahi, ug gani nagpuno sa impormasyon bahin sa iyang kaugalingon sa presentasyon sa kataposang gutlo, sa kinatibuk-an, mitungha ang mga pagduhaduha.

Ingon usa ka sangputanan, gipasa namon ang tahas gikan sa DPiIR, ug wala gyud kami nasuko nga wala kami nakapasar sa EFKO, tungod kay ang buluhaton ingon katingad-an alang kanamo, aron ibutang kini sa malumo.

5. Pag-andam alang sa hackathon. Sa dihang nahibal-an sa katapusan nga kami kwalipikado alang sa hackathon, nagsugod kami sa pag-andam sa pagpangandam. Ug dinhi wala ako nagpasiugda sa pagsugod sa pagsulat sa code usa ka semana sa wala pa magsugod ang hackathon. Sa labing gamay, kinahanglan nga adunay usa ka boilerplate nga andam, diin mahimo ka dayon magsugod sa pagtrabaho, nga dili kinahanglan nga i-configure ang mga himan, ug wala’y pagbangga sa mga bug sa pipila nga lib nga nakahukom ka nga sulayan sa una nga higayon sa usa ka hackathon. Nahibal-an nako ang usa ka istorya bahin sa mga angular nga inhenyero nga miadto sa usa ka hackathon ug migugol sa 2 ka adlaw sa pag-set up sa pagtukod sa proyekto, mao nga kinahanglan nga andamon daan ang tanan. Gituyo namo ang pag-apod-apod sa mga responsibilidad sama sa mosunod: ang backender nagsulat sa mga crawler nga nagsuroy sa Internet ug nagbutang sa tanang nakolekta nga impormasyon sa database, samtang nagsulat ko og API sa node.js nga nagpangutana niini nga database ug nagpadala sa datos sa atubangan. Niini nga bahin, nag-andam ako daan sa usa ka server gamit ang express.js ug nag-andam usa ka front-end sa reaksyon. Wala ko mogamit sa CRA, kanunay nakong gipahiangay ang webpack alang sa akong kaugalingon ug nahibal-an ko pag-ayo kung unsa ang mga risgo nga mahimo niini (hinumdomi ang istorya bahin sa mga angular developer). Niini nga punto, nangayo ako og mga template sa interface o labing menos mga pagbiaybiay gikan sa among tigdesinyo aron adunay ideya kung unsa ang akong ibutang. Sa teoriya, kinahanglan usab nga maghimo siya sa iyang kaugalingon nga mga pagpangandam ug makig-coordinate kanila uban kanamo, apan wala ako makadawat usa ka tubag. Tungod niini, akong gihulam ang disenyo gikan sa usa sa akong karaan nga mga proyekto. Ug kini nagsugod sa pagtrabaho nga mas paspas, tungod kay ang tanan nga mga estilo alang niini nga proyekto gisulat na. Busa ang konklusyon: ang usa ka tigdesinyo dili kanunay gikinahanglan sa usa ka team))). Miabot kami sa hackathon uban niini nga mga kalamboan.

6. Trabaho sa hackathon. Ang unang higayon nga akong nakita nga live ang akong team diha ra sa pag-abli sa hackathon sa Central Distribution Center. Nagkita mi, naghisgot sa solusyon ug mga yugto sa pagtrabaho sa problema. Ug bisan tuod human sa pag-abli kinahanglan namong mosakay sa bus paingon sa Red October, mipauli kami aron matulog, nagkasabot nga moabot sa dapit sa alas 9.00. Ngano man? Ang mga nag-organisar dayag nga gusto nga makuha ang labing kaayo sa mga partisipante, mao nga ilang gihikay ang ingon nga iskedyul. Apan, sa akong kasinatian, mahimo kang mag-code sa normal nga dili matulog sa usa ka gabii. Bahin sa ikaduha, dili na ko sigurado. Ang hackathon usa ka marathon; Dugang pa, kami adunay mga pagpangandam.

Giunsa ug ngano nga nakadaog kami sa Big Data track sa hackathon sa Urban Tech Challenge

Busa, pagkahuman natulog, sa 9.00 naglingkod kami sa ikaunom nga andana sa Dewocracy. Unya wala damha nga gipahibalo sa among tigdesinyo nga wala siyay laptop ug magtrabaho siya gikan sa balay, ug mag-estorya mi pinaagig telepono. Kini ang katapusang uhot. Ug busa mibalik kami gikan sa upat ngadto sa tulo, bisan kung wala namo usba ang ngalan sa team. Sa makausa pa, kini dili usa ka dako nga hampak alang kanamo; Sa kinatibuk-an, sa sinugdan ang tanan nahinabo nga hapsay ug sumala sa plano. Among gikarga sa database (nakahukom mi nga gamiton ang neo4j) usa ka dataset sa mga bag-ong kompanya gikan sa mga organizer. Nagsugod ko sa pag-typeset, dayon gikuha ang node.js, ug ang mga butang nagsugod nga dili maayo. Wala pa ako nagtrabaho sa neo4j kaniadto, ug sa sinugdan nangita ako usa ka nagtrabaho nga drayber alang sa kini nga database, unya nahibal-an nako kung giunsa pagsulat ang usa ka pangutana, ug unya natingala ako nga nahibal-an nga kini nga database, kung gipangutana, nagbalik mga entidad sa porma sa usa ka han-ay sa mga butang sa node ug sa ilang mga ngilit. Mga. sa dihang gihangyo ko ang usa ka organisasyon ug ang tanan nga datos niini pinaagi sa TIN, imbes nga usa ka butang sa organisasyon, gibalik ako usa ka taas nga han-ay sa mga butang nga adunay sulud nga datos sa kini nga organisasyon ug ang mga relasyon tali kanila. Nagsulat ko og mapper nga miagi sa tibuok array ug gipapilit ang tanang butang sumala sa ilang organisasyon ngadto sa usa ka butang. Apan sa gubat, sa dihang nangayo og database sa 8 ka libo nga mga organisasyon, kini gipatuman sa hilabihan ka hinay, mga 20 - 30 segundos. Nagsugod ako sa paghunahuna bahin sa pag-optimize ... Ug dayon mihunong kami sa oras ug mibalhin sa MongoDB, ug milungtad kami mga 30 minuto. Sa kinatibuk-an, mga 4 ka oras ang nawala sa neo5j.

Hinumdumi, ayaw pagdala sa teknolohiya sa usa ka hackathon nga dili nimo pamilyar, tingali adunay mga sorpresa. Apan, sa kinatibuk-an, gawas sa kini nga kapakyasan, ang tanan nagpadayon sumala sa plano. Ug na sa buntag sa Disyembre 9, kami adunay usa ka hingpit nga nagtrabaho nga aplikasyon. Sa nahabilin nga adlaw nagplano kami nga magdugang dugang nga mga bahin niini. Sa umaabot, ang tanan medyo hapsay alang kanako, apan ang backender adunay usa ka bug-os nga hugpong sa mga problema sa pagdili sa iyang mga crawler sa mga search engine, sa spam sa mga aggregators sa legal nga mga entidad, nga miabut sa unang mga dapit sa mga resulta sa pagpangita sa diha nga naghangyo. alang sa matag piho nga kompanya. Apan mas maayo nga siya mismo ang mosulti bahin niini. Ang una nga dugang nga bahin nga akong gidugang mao ang pagpangita pinaagi sa tibuuk nga ngalan. Kinatibuk-ang Direktor sa VKontakte. Nagkinahanglan kini og pipila ka oras.

Mao nga, sa panid sa kompanya sa among aplikasyon, usa ka avatar sa kinatibuk-ang direktor ang nagpakita, usa ka link sa iyang panid sa VKontakte ug uban pang mga datos. Nindot kadto nga cherry sa cake, bisan tuod dili kini makahatag kanamo sa kadaugan. Dayon, gusto ko nga modagan og pipila ka analytics. Apan pagkahuman sa usa ka taas nga pagpangita sa mga kapilian (adunay daghang mga nuances sa UI), gihusay nako ang pinakasimple nga panagsama sa mga organisasyon pinaagi sa code sa kalihokan sa ekonomiya. Sa gabii na, sa katapusang mga oras, nagbutang ako usa ka template alang sa pagpakita sa mga bag-ong produkto (sa among aplikasyon adunay kinahanglan nga seksyon sa Mga Produkto ug Serbisyo), bisan kung ang backend dili andam alang niini. Sa parehas nga oras, ang database nag-uswag pinaagi sa mga paglukso ug mga utlanan, ang mga crawler nagpadayon sa pagtrabaho, ang backender nag-eksperimento sa NLP aron mailhan ang mga bag-ong teksto gikan sa mga dili-bag-o))). Apan ang panahon sa kataposang presentasyon nagkaduol na.

7. Pagpresentar. Gikan sa akong kaugalingong kasinatian, makaingon ko nga kinahanglang mobalhin ka sa pag-andam ug presentasyon mga 3 ngadto sa 4 ka oras sa dili pa kini matapos. Ilabi na kung naglambigit kini sa video, ang pagpamusil ug pag-edit niini nagkinahanglag daghang oras. Naa unta mi video. Ug kami adunay usa ka espesyal nga tawo nga nag-atubang niini, ug nakasulbad usab sa daghang uban pang mga isyu sa organisasyon. Niining bahina, wala namo mabalda ang among kaugalingon gikan sa pag-coding hangtod sa katapusang gutlo.

8. Pitch. Dili ko ganahan nga ang mga presentasyon ug finals gihimo sa lain nga adlaw sa semana (Lunes). Dinhi, lagmit, nagpadayon ang polisiya sa mga organizer sa pagpiit sa kinatas-an sa mga partisipante. Wala ko nagplano nga mobakasyon gikan sa trabaho, gusto lang nako nga makaadto sa finals, bisan kung ang nahabilin sa akong team mikuha sa katapusan sa semana. Bisan pa, ang emosyonal nga pagpaunlod sa hackathon taas na kaayo nga sa alas 8 sa buntag nagsulat ako sa chat sa akong team (ang work team, dili ang hackathon team) nga akong gikuha ang adlaw sa akong kaugalingong gasto, ug miadto sa central opisina para sa mga pitches. Ang among problema nahimo nga adunay daghang puro nga data scientist, ug kini nakaapekto pag-ayo sa pamaagi sa pagsulbad sa problema. Daghan ang adunay maayo nga DS, apan walay usa nga nagtrabaho nga prototype, daghan ang dili makalikay sa mga pagdili sa ilang mga crawler sa mga search engine. Kami ra ang team nga adunay nagtrabaho nga prototype. Ug nahibal-an namon kung unsaon pagsulbad ang problema. Sa katapusan, nakadaog kami sa track, bisan kung kami swerte kaayo nga among gipili ang labing gamay nga kompetisyon nga buluhaton. Sa pagtan-aw sa mga pitches sa ubang mga track, among naamgohan nga kami walay kahigayonan didto. Gusto usab nako isulti nga swerte kaayo kami sa hurado; Ug, sa paghukom sa mga reviews, kini wala mahitabo sa tanan nga mga tracks.

9. Katapusan. Human kami gitawag sa jury sa makadaghang higayon alang sa usa ka code review, kami, naghunahuna nga sa katapusan nasulbad na ang tanang mga isyu, miadto sa paniudto sa Burger King. Didto nanawag na usab ang mga organizers, kinahanglan namong mag-pack dayon sa among mga order ug mobalik.

Gipakita kanamo sa organizer kung unsang kwarto ang kinahanglan namon nga adtoan, ug sa pagsulod, nakit-an namon ang among kaugalingon sa usa ka sesyon sa pagbansay sa pagsulti sa publiko alang sa mga mananaog nga koponan. Ang mga lalaki nga mo-perform unta sa entablado maayo nga gi-charge, ang tanan nanggawas nga sama sa tinuod nga mga showman.

Ug ako kinahanglan nga moangkon, sa katapusan, batok sa backdrop sa labing lig-on nga mga teams gikan sa ubang mga tracks, kita mitan-aw sa luspad ang kadaugan sa gobyerno customer nga nominasyon medyo angayan ngadto sa team gikan sa real estate tech track. Sa akong hunahuna nga ang mga hinungdan nga hinungdan nga nakatampo sa among kadaugan sa track mao ang: ang pagkaanaa sa usa ka andam nga blangko, tungod niini nakahimo kami dali nga paghimo usa ka prototype, ang presensya sa mga "highlight" sa prototype (pangitaa ang mga CEO. sa mga social network) ug ang mga kahanas sa NLP sa among backender, nga interesado usab sa hurado.

Giunsa ug ngano nga nakadaog kami sa Big Data track sa hackathon sa Urban Tech Challenge

Ug sa konklusyon, tradisyonal nga salamat sa tanan nga nagsuporta kanamo, ang jury sa among track, si Evgeniy Evgrafiev (ang tagsulat sa problema nga among nasulbad sa hackathon) ug siyempre ang mga nag-organisar sa hackathon. Kini tingali ang labing dako ug labing cool nga hackathon nga akong naapilan, mahimo ra nako nga gusto nga ang mga lalaki magpadayon sa ingon ka taas nga sumbanan sa umaabot!

Source: www.habr.com

Idugang sa usa ka comment