Kumaha jeung kunaon urang meunang lagu Big Data dina hackathon Urban Tech Challenge

Ngaran abdi Dmitry. Sareng kuring hoyong ngobrol ngeunaan kumaha tim kami ngahontal final tina hackathon Urban Tech Challenge dina lagu Big Data. Kuring bakal langsung nyarios yén ieu sanés hackathon anu munggaran anu kuring milu, sareng sanés anu munggaran anu kuring nampi hadiah. Dina hal ieu, dina carita abdi abdi hoyong nyoarakeun sababaraha observasi umum sarta conclusions ngeunaan industri hackathon sakabéhna, sarta masihan sudut pandang abdi sabalikna tina ulasan négatip nu mucunghul online langsung saatos tungtung Urban Tech Challenge (pikeun conto ieu).

Ku kituna mimiti sababaraha observasi umum.

1. Ieu héran yén rada sababaraha urang naively pikir nu hackathon sababaraha jenis kompetisi olahraga mana coders pangalusna meunang. Ieu salah. Kuring henteu nganggap kasus nalika panitia hackathon sorangan henteu terang naon anu dipikahoyong (Kuring ogé ningali éta). Tapi, sakumaha aturan, perusahaan anu ngatur hackathon ngudag tujuanana sorangan. Daptar maranéhanana bisa jadi béda: bisa jadi solusi teknis pikeun sababaraha masalah, pilarian pikeun ideu anyar jeung jalma, jsb. Tujuan ieu sering nangtukeun format acara, waktos na, online / offline, kumaha tugas bakal dirumuskeun (jeung naha maranéhna bakal dirumuskeun pisan), naha bakal aya review kode di hackathon, jsb. Duanana tim sareng naon anu aranjeunna laksanakeun ditaksir tina sudut pandang ieu. Sarta maranéhanana tim anu pangalusna pencét titik parusahaan perlu meunang, sarta loba meunang ka titik ieu sagemblengna teu eling tur ku kacilakaan, mikir yén maranéhna téh bener milu dina kompetisi olahraga. Pengamatan kuring nunjukkeun yén pikeun memotivasi pamilon, panitia kedah nyiptakeun sahenteuna penampilan lingkungan olahraga sareng kaayaan anu sami, upami henteu aranjeunna bakal nampi gelombang negatip, sapertos dina ulasan di luhur. Tapi urang digress.

2. Ku kituna kacindekan ieu di handap. Panitia museurkeun pamilon anu datang ka hackathon kalayan karyana sorangan, sakapeung aranjeunna sacara khusus ngatur tahap korespondensi online pikeun tujuan ieu. Ieu ngamungkinkeun pikeun solusi kaluaran kuat. Konsep "karya sorangan" relatif pisan; sagala pamekar ngalaman bisa ngumpulkeun rébuan garis kode ti proyék heubeul na dina komitmen kahijina. Sareng ieu bakal janten pamekaran anu tos disiapkeun? Tapi dina sagala hal, aturan berlaku, anu kuring dinyatakeun dina bentuk meme anu kasohor:

Kumaha jeung kunaon urang meunang lagu Big Data dina hackathon Urban Tech Challenge

Pikeun meunang, Anjeun kudu boga hal, sababaraha jenis kaunggulan kalapa: proyék sarupa nu geus kaliwat, pangaweruh jeung pangalaman dina topik husus, atawa karya siap-dijieun dipigawé saméméh mimiti hackathon nu. Sumuhun, éta teu olahraga. Sumuhun, ieu bisa jadi teu patut usaha expended (di dieu, dulur megatkeun sorangan naha éta patut coding salila 3 minggu peuting pikeun hadiah 100 sarébu, dibagi diantara sakabéh tim, komo jeung resiko teu meunang). Tapi, sering, ieu hiji-hijina kasempetan pikeun maju.

3. Pamilihan tim. Sakumaha anu kuring perhatikeun dina obrolan hackathon, seueur anu ngadeukeutan masalah ieu sacara sembrono (sanaos ieu mangrupikeun kaputusan anu paling penting anu bakal nangtukeun hasil anjeun dina hackathon). Dina loba widang aktivitas (boh dina olahraga sarta di hackathon) Kuring geus katempo yen jalma kuat condong ngahiji jeung kuat, lemah jeung lemah, pinter jeung pinter, ogé, sacara umum, anjeun meunang ide... Ieu kasarna naon anu lumangsung dina obrolan: programer kirang kuat aranjeunna langsung snapped up, jalma anu teu boga naon wae kaahlian berharga pikeun hackathon ngagantung dina obrolan keur lila tur milih tim dina prinsip yén lamun ngan batur bakal nyandak eta. . Dina sababaraha hackathon, tugas acak ka tim dipraktékkeun, sareng panitia ngaku yén tim acak ngalakukeun henteu langkung goréng tibatan anu parantos aya. Tapi numutkeun pangamatan kuring, jalma anu ngamotivasi, biasana, mendakan tim nyalira; upami aya anu kedah ditugaskeun, teras, sering, seueur di antarana henteu sumping ka hackathon.

Sedengkeun pikeun komposisi tim, ieu pisan individu jeung kacida gumantung kana tugas. Abdi tiasa nyebatkeun yén komposisi tim minimum anu tiasa dianggo nyaéta desainer - hareup-tungtung atanapi payun-tungtung - tukang-tungtung. Tapi kuring ogé terang kasus nalika tim anu ngan ukur aya di payuneun anu meunang, anu nambihan deui-tungtung basajan dina node.js, atanapi ngadamel aplikasi mobile dina React Native; atawa ngan ti backenders anu ngalakukeun perenah basajan. Sacara umum, sagalana pisan individu jeung gumantung kana tugas. Rencana kuring pikeun milih tim pikeun hackathon nyaéta kieu: Kuring ngarencanakeun pikeun ngumpul tim atanapi ngiringan tim sapertos hareup-tungtung - tukang-tungtung - desainer (kuring sorangan). Jeung geulis gancang kuring mimiti galecok jeung backender python sarta desainer anu narima uleman pikeun gabung kami. Sakedap deui, saurang awéwé, analis bisnis, anu parantos gaduh pangalaman meunang hackathon, ngagabung sareng kami, sareng ieu mutuskeun masalah anjeunna gabung ka kami. Saatos rapat pondok, urang mutuskeun pikeun nelepon diri urang U4 (URBAN 4, urban opat) ku analogi jeung hebat opat. Sareng aranjeunna malah nempatkeun gambar anu cocog dina avatar saluran telegram urang.

4. Milih tugas. Sakumaha anu kuring parantos nyarios, anjeun kedah gaduh kaunggulan kalapa, tugas pikeun hackathon dipilih dumasar kana ieu. Dumasar ieu, sanggeus nempo daptar tugas sarta assessing pajeulitna maranéhanana, urang netep dina dua tugas: a katalog pausahaan inovatif ti DPiIR sarta chatbot ti EFKO. Tugas ti DPIiR dipilih ku backender, tugas ti EFKO dipilih ku kuring, sabab kungsi pangalaman nulis chatbots di node.js na DialogFlow. Tugas EFKO ogé ngalibetkeun ML; Kuring boga sababaraha, teu pisan éksténsif, pangalaman dina ML. Sareng dumasar kana kaayaan masalahna, sigana kuring sigana moal direngsekeun nganggo alat ML. rarasaan ieu strengthened nalika kuring indit ka meetup Urban Tech tantangan, dimana panitia némbongkeun kuring dataset on EFKO, dimana aya ngeunaan 100 poto layouts produk (dicokot tina sudut nu beda) jeung ngeunaan 20 kelas kasalahan perenah. Sareng, dina waktos anu sami, anu maréntahkeun tugas éta hoyong ngahontal tingkat kasuksésan klasifikasi 90%. Hasilna, kuring nyiapkeun presentasi solusi tanpa ML, backender nyiapkeun presentasi dumasar kana katalog, sarta babarengan, sanggeus finalizing presentasi, urang dikirim ka Urban Tech tangtangan. Parantos dina tahap ieu, tingkat motivasi sareng kontribusi unggal pamilon diungkabkeun. Désainer kami henteu nyandak bagian dina diskusi, ngaréspon telat, bahkan ngeusian inpormasi ngeunaan dirina dina presentasi dina waktos anu terakhir, sacara umum, mamang timbul.

Hasilna, urang lulus tugas ti DPiIR, sarta éta henteu pisan kesel nu urang teu lulus EFKO, saprak tugas seemed aneh mun urang, nempatkeun eta mildly.

5. Nyiapkeun pikeun hackathon. Nalika eta tungtungna jadi dipikawanoh yen urang geus mumpuni pikeun hackathon, urang mimitian nyiapkeun persiapan. Sareng di dieu kuring henteu nyarankeun ngamimitian nyerat kode saminggu sateuacan ngamimitian hackathon. Sahenteuna, anjeun kedah gaduh boilerplate anu siap, dimana anjeun tiasa langsung ngamimitian damel, tanpa kedah ngonpigurasikeun alat, sareng tanpa nabrak kutu tina sababaraha lib anu anjeun mutuskeun pikeun nyobian pertama kalina dina hackathon. Kuring terang carita ngeunaan insinyur sudut anu sumping ka hackathon sareng nyéépkeun 2 dinten nyetél ngawangun proyék, janten sadayana kedah disiapkeun sateuacanna. Urang dimaksudkeun pikeun ngadistribusikaeun tanggung jawab saperti kieu: backender nu nyerat crawlers nu scour Internet sarta nempatkeun sagala informasi dikumpulkeun dina database, bari kuring nulis hiji API di node.js yén queries database ieu sareng ngirimkeun data ka hareup. Dina hal ieu, kuring nyiapkeun server sateuacanna nganggo express.js sareng nyiapkeun front-end dina réaksi. Kuring henteu nganggo CRA, kuring sok ngaropea webpack pikeun kuring sorangan sareng kuring terang pisan naon résiko ieu tiasa ditimbulkeun (inget carita ngeunaan pamekar sudut). Dina waktos ieu, kuring nyuhunkeun témplat antarmuka atanapi sahenteuna mockups ti desainer kami supados gaduh ide ngeunaan naon anu bakal kuring laksanakeun. Dina tiori, anjeunna ogé kedah ngadamel persiapan sorangan sareng koordinat sareng kami, tapi kuring henteu kantos nampi jawaban. Hasilna, kuring nginjeum desain ti salah sahiji proyék heubeul kuring. Sareng éta mimiti damel langkung gancang, sabab sadaya gaya pikeun proyék ieu parantos ditulis. Mangkana kacindekan: desainer teu salawasna diperlukeun dina tim))). Kami sumping ka hackathon kalayan kamajuan ieu.

6. Gawé di hackathon. Pertama kali kuring ningali tim kuring langsung ngan ukur dina muka hackathon di Pusat Distribusi Pusat. Kami tepang, ngabahas solusi sareng tahapan ngerjakeun masalah. Sarta sanajan sanggeus bubuka urang kudu indit ku beus ka Beureum Oktober, urang balik ka imah saré, agreeing anjog ka tempat ku 9.00. Naha? Penyelenggara tétéla hayang meunangkeun mangpaat pangseueurna ti pamilon, jadi maranéhanana disusun ngan jadwal saperti. Tapi, dina pangalaman kuring, anjeun tiasa kode normal tanpa bobo sapeuting. Sedengkeun pikeun anu kadua, kuring henteu yakin deui. Hackathon mangrupikeun marathon; anjeun kedah ngitung sareng ngarencanakeun kakuatan anjeun. Sumawona, urang ngagaduhan persiapan.

Kumaha jeung kunaon urang meunang lagu Big Data dina hackathon Urban Tech Challenge

Ku alatan éta, sanggeus saré kaluar, jam 9.00 urang diuk di lantai genep Dewocracy. Teras desainer kami ngadadak ngumumkeun yén anjeunna henteu gaduh laptop sareng anjeunna bakal damel ti bumi, sareng kami bakal komunikasi ku telepon. Ieu jarami panungtungan. Janten urang tos ti opat ka tilu, sanaos urang henteu ngarobih nami tim. Sakali deui, ieu sanés jotosan anu ageung pikeun kami; Kuring parantos ngagaduhan desain ti proyék lami. Sacara umum, mimitina sagalana jalan rada lancar tur nurutkeun rencana. Urang dimuat kana database (urang mutuskeun pikeun ngagunakeun neo4j) a dataset pausahaan inovatif ti panitia. Kuring ngamimitian ngetik, teras nyandak node.js, teras hal-hal mimiti salah. Abdi henteu kantos damel sareng neo4j sateuacanna, sareng mimitina kuring milarian supir anu tiasa dianggo pikeun pangkalan data ieu, teras kuring terang kumaha cara nyerat pamundut, teras kuring reuwas mendakan yén database ieu, nalika ditaroskeun, mulihkeun éntitas dina wangun susunan objék titik jeung edges maranéhanana. Jelema. Nalika kuring naroskeun organisasi sareng sadaya data dina éta ku TIN, tibatan hiji obyék organisasi, kuring dipulangkeun sakumpulan objék anu ngandung data ngeunaan organisasi ieu sareng hubungan antara aranjeunna. Kuring nulis mapper nu indit ngaliwatan sakabéh Asép Sunandar Sunarya na glued sakabeh objék nurutkeun organisasi maranéhna kana hiji obyék. Tapi dina perangna, nalika nyuhunkeun database 8 rébu organisasi, éta dilaksanakeun lalaunan pisan, sakitar 20 - 30 detik. Kuring mimiti mikir ngeunaan optimasi ... Lajeng urang dieureunkeun dina jangka waktu na switched mun MongoDB, sarta eta nyandak urang ngeunaan 30 menit. Dina total, ngeunaan 4 jam leungit dina neo5j.

Inget, pernah nyandak téhnologi ka hackathon nu anjeun teu wawuh, meureun aya kejutan. Tapi, sacara umum, sajaba ti kagagalan ieu, sadayana saluyu sareng rencana. Sareng énjing-énjing tanggal 9 Désémber, kami ngagaduhan aplikasi anu lengkep. Pikeun sesa dinten urang rencanana pikeun nambahkeun fitur tambahan pikeun eta. Dina mangsa nu bakal datang, sagalana indit rélatif lancar pikeun kuring, tapi backender miboga sakabéh kebat masalah jeung larangan crawlers na dina mesin pencari, dina spam aggregators entitas légal, nu sumping di tempat munggaran hasil teangan nalika requesting. pikeun tiap pausahaan husus. Tapi éta hadé pikeun anjeunna ngabejaan ngeunaan eta sorangan. Fitur tambahan munggaran anu kuring tambahkeun nyaéta milarian ku nami lengkep. Diréktur Jéndral VKontakte. Butuh sababaraha jam.

Janten, dina halaman perusahaan dina aplikasi kami, avatar diréktur umum muncul, tautan ka halaman VKontakte na sareng sababaraha data anu sanés. Ieu céri nice on jajan, sanajan bisa jadi teu geus dibikeun kami meunangna. Lajeng, abdi hoyong ngajalankeun sababaraha analytics. Tapi saatos milarian pilihan anu panjang (aya seueur nuansa sareng UI), kuring netepkeun agrégasi pangbasajanna organisasi ku kode kagiatan ékonomi. Parantos sonten, dina jam-jaman terakhir, kuring ngarencanakeun témplat pikeun nampilkeun produk inovatif (dina aplikasi urang kedahna janten bagian Produk sareng Jasa), sanaos backend henteu siap pikeun ieu. Dina waktu nu sarua, database ieu bareuh ku leaps na bounds, crawlers terus digawé, backender experimented kalawan NLP keur ngabedakeun téks inovatif ti non-inovatif))). Tapi waktu pikeun presentasi final geus approaching.

7. Presentasi. Tina pangalaman kuring sorangan, kuring tiasa nyarios yén anjeun kedah ngalih ka nyiapkeun presentasi sakitar 3 dugi ka 4 jam sateuacanna. Utamana upami ngalibatkeun pidéo, pamotretan sareng éditanana peryogi waktos anu lumayan. Urang sakuduna dituju gaduh video. Sareng urang ngagaduhan jalma khusus anu ngurus ieu, sareng ogé ngarengsekeun sababaraha masalah organisasi anu sanés. Dina hal ieu, kami henteu ngaganggu diri tina coding dugi ka momen terakhir.

8. Leumpang. Abdi henteu resep yén presentasi sareng final dilaksanakeun dina dinten minggu anu misah (Senén). Di dieu, paling dipikaresep, kawijakan panitia squeezing maksimum kaluar pamilon terus. Abdi henteu ngarencanakeun waktos istirahat tina padamelan, kuring ngan ukur hoyong dugi ka final, sanaos sesa tim kuring nyandak dinten libur. Sanajan kitu, immersion émosional dina hackathon éta geus jadi luhur yén jam 8 am kuring nulis dina obrolan tim kuring (tim gawé, lain tim hackathon) yén kuring nyokot poé di expense sorangan, sarta indit ka sentral. kantor pikeun pitches. Masalah urang tétéla ngagaduhan seueur élmuwan data murni, sareng ieu mangaruhan pisan kana pendekatan pikeun ngarengsekeun masalah. Seueur anu ngagaduhan DS anu saé, tapi teu aya anu ngagaduhan prototipe anu damel, seueur anu henteu tiasa ngurilingan larangan crawlers dina mesin pencari. Kami hiji-hijina tim anu gaduh prototipe kerja. Sarta kami terang kumaha carana ngajawab masalah. Tungtungna, urang meunang lagu, sanajan kami pisan untung nu urang milih tugas sahenteuna kalapa. Ningali pitches dina lagu séjén, urang sadar yen urang moal boga kasempetan di dinya. Kuring ogé hoyong nyarios yén kami untung pisan sareng juri; aranjeunna taliti pariksa kodeu. Sareng, ditilik ku ulasan, ieu henteu kajantenan dina sadaya lagu.

9. Pamungkas. Saatos kami disebut juri sababaraha kali pikeun review kode, urang mikir yén kami geus tungtungna ngumbar sagala masalah, indit ka dahar beurang di Burger King. Aya panitia nelepon deui, urang kudu gancang pak pesenan sarta balik.

Panitia nunjukkeun ka kamar mana anu urang kedah lebet, sareng nalika lebet, urang mendakan diri dina sési latihan nyarios umum pikeun tim anu meunang. Lalaki anu sakuduna manggung di panggung éta ogé dicas, dulur kaluar kawas showmen nyata.

Sareng kuring kedah ngaku, dina final, ngalawan latar tukang tim pangkuatna tina lagu-lagu anu sanés, urang katingali bulak; kameunangan dina nominasi pelanggan pamaréntahan cukup pantes pikeun tim ti lagu téknologi real estate. Jigana yén faktor konci anu nyumbang kana kameunangan urang dina lagu éta: kasadiaan kosong siap-dijieun, alatan nu urang bisa gancang nyieun prototipe a, ayana "highlights" dina prototipe (neangan CEOs. dina jaringan sosial) sareng kaahlian NLP backender urang, anu ogé dipikaresep pisan ku juri.

Kumaha jeung kunaon urang meunang lagu Big Data dina hackathon Urban Tech Challenge

Jeung kacindekan, hatur nuhun tradisional ka sadaya jalma anu ngarojong kami, juri lagu urang, Evgeniy Evgrafiev (panulis masalah nu urang direngsekeun di hackathon nu) sarta tangtu panitia hackathon nu. Ieu panginten hackathon panggedéna sareng paling keren anu kuring kantos miluan, kuring ngan ukur tiasa ngaharepkeun jalma-jalma pikeun ngajaga standar anu luhur di hareup!

sumber: www.habr.com

Tambahkeun komentar