Wéi a firwat hu mir de Big Data Streck um Urban Tech Challenge Hackathon gewonnen

Mäin Numm ass Dmitry. An ech wëll driwwer schwätzen wéi eis Team d'Finale vum Urban Tech Challenge Hackathon op der Big Data Streck erreecht huet. Ech soen direkt datt dëst net deen éischten Hackathon ass, un deem ech matgemaach hunn, an net deen éischten an deem ech Präisser geholl hunn. An dëser Hisiicht wëll ech a menger Geschicht e puer allgemeng Beobachtungen a Conclusiounen iwwer d'Hackathon Industrie als Ganzt soen, a meng Siicht ginn am Géigesaz zu den negativen Kritiken déi direkt nom Enn vum Urban Tech Challenge online opgetaucht sinn (fir Beispill dat).

Also als éischt e puer allgemeng Beobachtungen.

1. Et ass iwwerraschend datt zimmlech vill Leit naiv denken datt en Hackathon eng Zort Sportskonkurrenz ass wou déi bescht Coderen gewannen. Dëst ass falsch. Ech betruecht net Fäll wann Hackathon Organisateuren selwer wëssen net wat se wëllen (Ech hunn dat och gesinn). Awer, als Regel, d'Firma, déi en Hackathon organiséiert, verfolgt seng eegen Ziler. Hir Lëscht kann anescht sinn: et kéint eng technesch Léisung fir e puer Problemer sinn, eng Sich no neien Iddien a Leit, asw. Dës Ziler bestëmmen dacks d'Format vum Event, säin Timing, online/offline, wéi d'Aufgaben formuléiert ginn (an ob se iwwerhaapt formuléiert ginn), ob et e Code review am Hackathon gëtt, asw. Souwuel d'Equipen wéi och wat se gemaach hunn ginn aus dëser Siicht bewäert. An déi Équipë, déi am Beschten de Punkt treffen, déi d'Firma brauch, gewannen, a vill komme ganz onbewosst an zoufälleg op dee Punkt, denken datt se wierklech un engem Sportskonkurrenz deelhuelen. Meng Observatioune weisen datt fir d'Participanten ze motivéieren, d'Organisateuren op d'mannst d'Erscheinung vun engem sportlechen Ëmfeld a gläiche Konditioune solle kreéieren, soss kréien se eng Welle vun Negativitéit, wéi an der uewen Iwwerpréiwung. Awer mir verschwannen.

2. Dofir déi folgend Conclusioun. D'Organisateuren interesséieren sech drun, datt d'Participanten mat hirer eegener Aarbecht op den Hackathon kommen, heiansdo organiséieren se och speziell eng Online-Korrespondenzbühn dofir. Dëst erlaabt méi staark Output Léisungen. D'Konzept vun "eegen Aarbecht" ass ganz relativ; all erfuerene Entwéckler kann Dausende vu Zeilen Code aus sengen alen Projeten a sengem éischten Engagement sammelen. A wäert dëst eng virbereet Entwécklung sinn? Awer op alle Fall gëlt d'Regel, déi ech a Form vun engem berühmten Meme ausgedréckt hunn:

Wéi a firwat hu mir de Big Data Streck um Urban Tech Challenge Hackathon gewonnen

Fir ze gewannen, musst Dir eppes hunn, eng Aart vu Konkurrenzvirdeel: en ähnleche Projet deen Dir an der Vergaangenheet gemaach hutt, Wëssen an Erfahrung an engem spezifeschen Thema oder eng fäerdeg Aarbecht virum Ufank vum Hackathon. Jo, et ass net sportlech. Jo, dëst ass vläicht net wäert den Effort ausginn (hei entscheet jidderee fir sech ob et derwäert ass fir 3 Wochen an der Nuecht fir e Präis vun 100 ze codéieren, ënnerdeelt ënner der ganzer Équipe, a souguer mam Risiko et net ze kréien). Awer dacks ass dëst déi eenzeg Chance fir virzekommen.

3. Equipe Auswiel. Wéi ech an Hackathon-Chats gemierkt hunn, komme vill dës Fro zimlech frivol (obwuel dëst déi wichtegst Entscheedung ass déi Äert Resultat am Hackathon bestëmmen). A ville Aktivitéitsberäicher (souwuel am Sport wéi am Hackathons) hunn ech gesinn datt staark Leit éischter mat deene staarken, déi schwaache mat de schwaache vereenegen, déi schlau mat de schlauen, gutt, am allgemengen, kritt Dir d'Iddi ... Dat ass ongeféier wat an Chats geschitt: manner staark Programméierer ginn se direkt opgefaang, Leit déi keng Fäegkeeten hunn, déi wäertvoll sinn fir en Hackathon, hänken laang am Chat a wielt en Team nom Prinzip, datt wann nëmmen een et géif huelen . Op e puer Hackathons gëtt zoufälleg Uerderung un Teams praktizéiert, an d'Organisateure behaapten datt zoufälleg Teams net méi schlecht wéi déi existéierend Leeschtunge maachen. Awer meng Beobachtungen no, motivéiert Leit fannen an der Regel eleng en Team, wann een muss zougewisen ginn, da komme vill vun hinnen dacks net op den Hackathon.

Wat d'Zesummesetzung vum Team ugeet, ass dat ganz individuell an héich ofhängeg vun der Aufgab. Ech kéint soen datt déi minimal viabel Teamkompositioun en Designer ass - Front-End oder Front-End - Back-End. Awer ech weess och vu Fäll wou Teams, déi nëmmen aus Front-Enders besteet, gewonnen hunn, déi en einfachen Back-End an node.js bäigefüügt hunn, oder eng mobil Applikatioun am React Native gemaach hunn; oder nëmmen aus backenders déi einfach Layout gemaach. Am Allgemengen ass alles ganz individuell an hänkt vun der Aufgab of. Mäi Plang fir en Team fir den Hackathon ze wielen war wéi follegt: Ech hu geplangt en Team zesummenzestellen oder mat engem Team wéi Front-End - Back-End - Designer (ech sinn selwer e Front-End) matzemaachen. An zimlech séier hunn ech ugefaang mat engem Python-Backender an engem Designer ze chatten, deen d'Invitatioun ugeholl huet fir matzemaachen. E bësse méi spéit ass e Meedchen, e Business Analyst, dat schonn Erfahrung hat mat engem Hackathon ze gewannen, bei eis bäikomm, an dëst huet d'Thema vun hirer bäitrieden decidéiert. No enger kuerzer Reunioun hu mir décidéiert eis U4 (URBAN 4, urban véier) no Analogie mat de fantastesche véier ze nennen. A si hunn souguer en entspriechend Bild op den Avatar vun eisem Telegramkanal gesat.

4. Wielt eng Aufgab. Wéi ech scho gesot hunn, musst Dir e kompetitive Virdeel hunn, d'Aufgab fir den Hackathon gëtt baséiert op dësem ausgewielt. Baséiert op dëser, kucken Aufgabelëscht an hir Komplexitéit bewäerten, hu mir eis op zwou Aufgaben niddergelooss: e Katalog vun innovativen Entreprisen aus DPiIR an e Chatbot vun EFKO. D'Aufgab vum DPIiR gouf vum Backender gewielt, d'Aufgab vum EFKO gouf vu mir gewielt, well hat Erfahrung Schreiwen Chatbots an node.js an DialogFlow. D'EFKO Aufgab huet och ML involvéiert; Ech hunn e puer, net ganz extensiv, Erfahrung am ML. An no de Konditioune vum Problem huet et mir geschéngt datt et onwahrscheinlech mat ML Tools geléist ze ginn. Dëst Gefill gouf verstäerkt wéi ech op d'Urban Tech Challenge Meetup gaangen sinn, wou d'Organisateuren mir en Dataset op EFKO gewisen hunn, wou et ongeféier 100 Fotoe vu Produktlayouten (aus verschiddene Winkelen geholl ginn) an ongeféier 20 Klassen Layoutfehler. A gläichzäiteg wollten déi, déi d'Aufgab bestallt hunn, e Klassement Erfolleg vun 90% erreechen. Als Resultat hunn ech eng Presentatioun vun der Léisung ouni ML virbereet, de Backender huet eng Presentatioun op Basis vum Katalog virbereet, an zesummen, nodeems mir d'Presentatiounen ofgeschloss hunn, hu mir se op den Urban Tech Challenge geschéckt. Schonn op dëser Etapp gouf den Niveau vun der Motivatioun a Bäitrag vun all Participant opgedeckt. Eisen Designer huet net un den Diskussiounen deelgeholl, spéit geäntwert, a souguer Informatioun iwwer sech selwer an der Presentatioun am leschte Moment ausgefëllt, allgemeng Zweifel entstanen.

Als Resultat hunn mir d'Aufgab vun DPiIR iwwerholl, a ware guer net opgereegt, datt mir den EFKO net passéiert hunn, well d'Aufgab eis komesch ausgesinn huet, fir et mild ze soen.

5. Virbereedung fir den Hackathon. Wéi et endlech bekannt gouf, datt mir fir den Hackathon qualifizéiert waren, hu mir ugefaang d'Virbereedung ze preparéieren. An hei plädéieren ech net fir eng Woch virum Ufank vum Hackathon Code ze schreiwen. Op e Minimum sollt Dir e Kesselplat fäerdeg hunn, mat deem Dir direkt ufänke kënnt ze schaffen, ouni Tools ze konfiguréieren, an ouni Bugs vun e puer Lib ze stoussen, déi Dir decidéiert hutt fir d'éischt Kéier op engem Hackathon ze probéieren. Ech kennen eng Geschicht iwwer Wénkelingenieuren, déi op en Hackathon komm sinn an 2 Deeg verbruecht hunn de Projet opzebauen, also sollt alles am Viraus virbereet ginn. Mir hu geduecht fir d'Verantwortung wéi follegt ze verdeelen: de Backender schreift Crawler déi den Internet duerchsichen an all déi gesammelt Informatioun an d'Datebank setzen, während ech eng API an node.js schreiwen, déi dës Datebank ufroen an d'Donnéeën op d'Front schéckt. An dëser Hisiicht hunn ech e Server am Viraus mat express.js virbereet an e Front-End virbereet a reagéiert. Ech benotzen net CRA, ech personaliséiere ëmmer Webpack fir mech an ech weess ganz gutt wéi eng Risiken dëst kënne stellen (erënnert un d'Geschicht iwwer Wénkel Entwéckler). Zu dësem Zäitpunkt hunn ech Interface Templates oder op d'mannst Mockups vun eisem Designer gefrot fir eng Iddi ze hunn wat ech géif ausleeën. An der Theorie soll hien och seng eege Virbereedunge maachen a mat eis koordinéieren, awer ech krut ni eng Äntwert. Als Resultat hunn ech den Design vun engem vun mengen alen Projeten geléint. An et huet ugefaang nach méi séier ze klappen, well all d'Stiler fir dëse Projet scho geschriwwe waren. Dofir d'Konklusioun: en Designer ass net ëmmer an engem Team gebraucht))). Mir sinn op den Hackathon komm mat dësen Entwécklungen.

6. Aarbecht um Hackathon. Déi éischte Kéier, datt ech meng Equipe live gesinn hunn, war eréischt bei der Ouverture vum Hackathon am Central Distribution Center. Mir hunn eis getraff, d'Léisung an d'Etappe vun der Aarbecht um Problem diskutéiert. An obwuel mer no der Ouverture mam Bus op Roude Oktober hu missen, si mir heem gaang fir ze schlofen, a mir hunn eis zougemaach, bis um 9.00 Auer op d'Plaz ze kommen. Firwat? D'Organisateure wollten anscheinend dat Bescht aus de Participanten erausbréngen, dofir hunn se grad esou en Zäitplang arrangéiert. Awer, a menger Erfahrung, kënnt Dir normalerweis codéieren ouni eng Nuecht ze schlofen. Wat den zweeten ugeet, sinn ech net méi sécher. En Hackathon ass e Marathon; Dir musst Är Kraaft adäquat berechnen a plangen. Ausserdeem hate mir Virbereedungen.

Wéi a firwat hu mir de Big Data Streck um Urban Tech Challenge Hackathon gewonnen

Dofir, nodeems mir ausgeschlof hunn, um 9.00 Auer souz mir um sechsten Stack vun Dewocracy. Dunn huet eisen Designer onerwaart ugekënnegt, datt hien kee Laptop huet an datt hien doheem géif schaffen a mir iwwer Telefon kommunizéieren. Dëst war de leschte Stréi. An dofir hu mir vun enger Véier op eng Dräi ëmgewandelt, obwuel mir den Numm vum Team net geännert hunn. Och dat war kee grousse Schlag fir eis, ech hat schonn den Design vum ale Projet. Am Allgemengen, am Ufank alles relativ glat an no Plang. Mir hunn an d'Datebank gelueden (mir hu beschloss neo4j ze benotzen) en Dataset vun innovative Firmen vun den Organisateuren. Ech hunn ugefaang ze setzen, dunn hunn ech node.js opgeholl, an dunn hunn d'Saachen ugefaang ze misfire. Ech hat nach ni mat neo4j geschafft, an am Ufank hunn ech no engem schaffende Chauffer fir dës Datebank gesicht, dunn hunn ech erausfonnt wéi ech eng Ufro schreiwen, an dunn war ech iwwerrascht ze entdecken datt dës Datebank, wann se gefrot gëtt, Entitéiten an der Form vun enger Array vun Nodeobjekter an hir Kanten. Déi. wann ech gefrot eng Organisatioun an all d'Donnéeën op et vun TIN, amplaz vun engem Organisatioun Objet, Ech war eng laang Gamme vu Objete mat Daten iwwert dës Organisatioun an d'Relatiounen tëscht hinnen zréck. Ech hunn e Mapper geschriwwen, deen duerch déi ganz Array gaang ass an all d'Objete no hirer Organisatioun an een Objet gepecht huet. Awer am Kampf, wann Dir eng Datebank vun 8 dausend Organisatiounen ugefrot huet, gouf et extrem lues ausgefouert, ongeféier 20 - 30 Sekonnen. Ech hunn ugefaang un d'Optimiséierung ze denken ... An dann hu mir an der Zäit opgehalen an op MongoDB gewiesselt, an et huet eis ongeféier 30 Minutten gedauert. Am Ganze ware ronn 4 Stonnen um neo5j verluer.

Denkt drun, huelt ni Technologie op en Hackathon deen Dir net kennt, et kann Iwwerraschungen sinn. Mee am Allgemengen, ofgesi vun dësem Echec, ass alles no Plang gaang. A schonn de Moien vum 9. Dezember hate mir eng voll funktionéierend Demande. Fir de Rescht vum Dag hu mir geplangt zousätzlech Funktiounen derbäi ze ginn. An Zukunft ass alles relativ glat fir mech gaang, awer de Backender hat eng ganz Rëtsch Probleemer mam Verbuet vu senge Crawler a Sichmotoren, am Spam vun Aggregatore vu juristeschen Entitéiten, déi an den éischte Plazen vun de Sichresultater bei der Ufro koumen. fir all spezifesch Firma. Awer et ass besser fir hien selwer doriwwer ze soen. Déi éischt zousätzlech Fonktioun ech dobäi war Sich vun voll Numm. Generaldirekter vun VKontakte. Et huet e puer Stonnen gedauert.

Also, op der Säit vun der Firma an eiser Applikatioun erschéngt en Avatar vum Generaldirekter, e Link op seng VKontakte Säit an e puer aner Donnéeën. Et war eng flott Kiischt op de Kuch, obwuel et eis vläicht net de Gewënn ginn. Duerno wollt ech e puer Analysen ausféieren. Awer no enger laanger Sich no Optiounen (et waren vill Nuancen mat der UI), hunn ech mech op déi einfachst Aggregatioun vun Organisatiounen duerch wirtschaftlech Aktivitéitscode niddergelooss. Scho owes, an de leschte Stonnen, hunn ech eng Schabloun geluecht fir innovativ Produkter ze weisen (an eiser Applikatioun soll et eng Rubrik Produkter a Servicer sinn), obwuel de Backend net fäerdeg war fir dëst. Zur selwechter Zäit ass d'Datebank duerch Spréng a Grenzen geschwollen, d'Crawler hunn weider geschafft, de Backender experimentéiert mat NLP fir innovativ Texter vun net-innovativen z'ënnerscheeden))). Awer d'Zäit fir d'Finale Presentatioun war scho méi no.

7. Presentatioun. Aus menger eegener Erfahrung kann ech soen, datt Dir op d'Virbereedung vun enger Presentatioun ongeféier 3 bis 4 Stonne wiessele sollt ier et ass. Besonnesch wann et Video implizéiert, hëlt säi Schéissen an Redaktioun zimlech vill Zäit. Mir sollten e Video hunn. A mir haten eng speziell Persoun, déi sech domat beschäftegt huet, an och eng Rei aner organisatoresch Problemer geléist huet. An dëser Hisiicht hu mir eis net bis zum leschte Moment vum Kodéierung ofgelenkt.

8. Pech. Ech hunn net gär datt d'Presentatiounen an d'Finale op engem separaten Wochendag (Méindeg) ofgehale goufen. Hei ass héchstwahrscheinlech d'Politik vun den Organisateuren, fir de Maximum aus de Participanten ze pressen, weidergaang. Ech hat net geplangt Zäit vun der Aarbecht ze huelen, ech wollt nëmmen an d'Finale kommen, obwuel de Rescht vu menger Equipe den Dag fräi geholl huet. Déi emotional Tauche am Hackathon war awer schonn esou héich, datt ech um 8 Auer am Chat vu menger Equipe (d'Aarbechtsteam, net d'Hackathon-Equipe) geschriwwen hunn, datt ech den Dag op meng eegen Käschten huelen an an d'Zentral gaang sinn. Büro fir Plazen. Eise Problem huet sech erausgestallt fir vill reng Datewëssenschaftler ze hunn, an dëst huet d'Approche fir de Problem ze léisen staark beaflosst. Vill haten e gudden DS, awer keen hat e funktionnéierende Prototyp, vill konnten d'Verbuet vun hire Crawler an de Sichmotoren net ëmgoen. Mir waren déi eenzeg Equipe mat engem schaffen Prototyp. A mir woussten wéi de Problem ze léisen. Um Enn hu mir d'Streck gewonnen, obwuel mir ganz Gléck haten, datt mir déi mannst kompetitiv Aufgab gewielt hunn. Wann een d'Plazen an anere Bunnen kuckt, hu mer gemierkt, datt mir do keng Chance hätten. Ech wëll och soen, mir haten immens Gléck mat der Jury, si hunn de Code virsiichteg iwwerpréift. An, no de Kritiken ze beuerteelen, ass dat net an allen Tracks geschitt.

9. Finale. Nodeems mir e puer Mol an d'Jury geruff gi sinn fir e Code review, hu mir geduecht datt mir endlech all d'Problemer geléist hunn, si si fir Mëttegiessen um Burger King gaang. Do hunn d'Organisateuren eis nach eng Kéier geruff, mir hunn eis Bestellunge séier misse packen an zréckgoen.

Den Organisateur huet eis gewisen a wéi eng Sall mir musse goen, a bei der Erreechung hu mir eis op enger ëffentlecher Speaking Training fir déi Gewënneréquipen fonnt. D'Jongen, déi op der Bühn sollten optrieden, ware gutt gelueden, jidderee koum wéi richteg Showmen eraus.

An ech muss zouginn, an der Finale, géint den Hannergrond vun de stäerkste Equippen aus anere Bunnen, hu mir blass ausgesinn, d'Victoire an der Nominatioun vum Staatsclient ass ganz verdéngt un d'Equipe vun der Immobilientech-Streck gaangen. Ech denken, datt d'Schlësselfaktoren, déi zu eiser Victoire op der Streck bäigedroen hunn, waren: d'Disponibilitéit vun enger fäerdeger eidel, duerch déi mir séier e Prototyp konnte maachen, d'Präsenz vun "Highlights" am Prototyp (Sich no CEOs) op sozialen Netzwierker) an d'NLP Fäegkeeten vun eisem Backender , déi d'Jury och immens interesséiert hunn.

Wéi a firwat hu mir de Big Data Streck um Urban Tech Challenge Hackathon gewonnen

An zum Schluss, traditionelle Merci un all déi, déi eis ënnerstëtzt hunn, d'Jury vun eiser Streck, den Evgeniy Evgrafiev (den Auteur vum Problem, dee mir um Hackathon geléist hunn) an natierlech d'Organisateuren vum Hackathon. Dëst war vläicht dee gréissten an coolsten Hackathon un deem ech jeemools matgemaach hunn, ech kann de Kärelen nëmme wënschen an Zukunft esou en héije Standard ze halen!

Source: will.com

Setzt e Commentaire