Digitālais izrāviens ā€“ kā tas notika

Å is nav pirmais hakatons, kurā es uzvaru, ne pirmais rakstÄ«Å”ana, un Å”is nav pirmais ieraksts vietnē HabrĆ©, kas veltÄ«ts ā€œDigitālajam izrāvienamā€. Bet es nevarēju nerakstÄ«t. Es uzskatu, ka mana pieredze ir pietiekami unikāla, lai dalÄ«tos. Es, iespējams, esmu vienÄ«gais cilvēks Å”ajā hakatonā, kurÅ” uzvarēja reÄ£ionālajā posmā un finālā dažādu komandu sastāvā. Vai vēlaties uzzināt, kā tas notika? Laipni lÅ«dzam kaÄ·Ä«.

Reģionālais posms (Maskava, 27.-28.).

Pirmo reizi reklāmu par ā€œDigitālo izrāvienuā€ redzēju kaut kur Ŕā gada martā-aprÄ«lÄ«. Protams, es nevarēju palaist garām tik lielu hakatonu un reÄ£istrēties vietnē. Tur iepazinos ar konkursa nosacÄ«jumiem un programmu. IzrādÄ«jās, ka, lai tiktu uz hakatonu, bija jākārto tieÅ”saistes tests, kas sākās 16. maijā. Un, iespējams, es par to bÅ«tu ērti aizmirsis, jo es nesaņēmu vēstuli, kas man atgādinātu par testÄ“Å”anas sākumu. Un jāsaka, ka turpmāk VISI VĒSTULI, kas man atnāca no CPU, konsekventi nonāca surogātpasta mapē. Pat ja es katru reizi noklikŔķināju uz pogas ā€œnav iebilstamsā€. Es nezinu, kā viņiem izdevās sasniegt Ŕādu rezultātu; ar pasta sÅ«tÄ«Å”anu MailGun man tas neizdevās. Un Ŕķiet, ka puiÅ”i nemaz nezina par tādu pakalpojumu kā isnotspam.com esamÄ«bu. Bet mēs novirzāmies.

Par testÄ“Å”anas sākumu man atgādināja vienā no sanāksmēm starta klubs, tur apspriedām arÄ« komandas veidoÅ”anu. Atverot testu sarakstu, es vispirms apsēdos pie Javascript testa. Kopumā uzdevumi bija vairāk vai mazāk atbilstoÅ”i (piemēram, kāds bÅ«tu rezultāts, ja konsolē pievienotu 1 + '1'). Bet pēc savas pieredzes es Ŕādus testus izmantotu, atlasot darbā vai komandā ar ļoti lielām atrunām. Fakts ir tāds, ka reālajā darbā programmētājs reti sastopas ar tādām lietām, ar savu spēju ātri atkļūdot kodu - Ŕīs zināŔanas nekādā veidā nekorelē, un jÅ«s varat diezgan viegli apmācÄ«t Ŕādas lietas intervijām (es zinu no sevis). Kopumā testu noklikŔķināju diezgan ātri, dažos gadÄ«jumos pārbaudÄ«ju sevi konsolē. Python testā uzdevumi bija aptuveni vienāda tipa, es arÄ« testēju sevi pultÄ«, un biju pārsteigts, ka ieguvu vairāk punktu nekā JS, lai gan nekad neesmu profesionāli programmējis Python. Vēlāk sarunās ar dalÄ«bniekiem dzirdēju stāstus par to, kā spēcÄ«gi programmētāji testos guva zemus rezultātus, kā daži cilvēki saņēma vēstules, ka nav izturējuÅ”i CPU atlases procesu, un tad tik un tā tika uzaicināti uz to. Skaidrs, ka Å”o testu veidotāji, visticamāk, neko nav dzirdējuÅ”i testa teorija, ne par to uzticamÄ«bu un derÄ«gumu, ne par to, kā tos pārbaudÄ«t, un ideja ar testiem jau paŔā sākumā bÅ«tu izgāzusies, pat ja mēs neņemtu vērā galveno hakatona mērÄ·i. Un galvenais uzlauÅ”anas mērÄ·is, kā es uzzināju vēlāk, bija uzstādÄ«t Ginesa rekordu, un testi tam bija pretrunā.

Kādā brÄ«dÄ« pēc testu nokārtoÅ”anas man piezvanÄ«ja, jautāja, vai piedalÄ«Å”os, precizēja detaļas un pastāstÄ«ja, kā iekļūt komandas atlases čatā. DrÄ«z es ienācu čatā un Ä«si uzrakstÄ«ju par sevi. Čatā notika pilnÄ«ga miskaste, likās, ka organizatori reklamē daudz nejauÅ”i izvēlētiem cilvēkiem, kuriem nav nekāda sakara ar IT. Daudzi produktu menedžeri ā€œStÄ«va Džobsa lÄ«menÄ«ā€ (Ä«sta frāze no viena dalÄ«bnieka iesnieguma) publicēja stāstus par sevi, un normāli izstrādātāji pat nebija redzami. Bet man paveicās un drÄ«z pievienojos trÄ«s pieredzējuÅ”iem JS programmētājiem. Satikāmies jau hakatonā, un tad komandai pievienojām meiteni iedvesmai un organizatorisko jautājumu risināŔanai. Es neatceros, kāpēc, bet mēs izvēlējāmies tēmu ā€œKiberdroŔības apmācÄ«baā€ un iekļāvām to ā€œZinātne un izglÄ«tÄ«ba 2ā€ celiņā. Pirmo reizi nokļuvu 4 spēcÄ«gu programmētāju komandā un pirmo reizi sajutu, cik viegli ir uzvarēt Ŕādā sastāvā. Atnācām nesagatavoti un strÄ«dējāmies lÄ«dz pusdienām un nevarējām izlemt, ko darÄ«sim: mobilo aplikāciju vai tÄ«mekļa aplikāciju. Jebkurā citā situācijā es bÅ«tu domājis, ka tā ir neveiksme. Mums vissvarÄ«gākais bija saprast, ar ko mēs bÅ«sim labāki par konkurentiem, jo ā€‹ā€‹apkārt bija daudz komandu, kas veica grieÅ”anas testus, kiberdroŔības spēles un tamlÄ«dzÄ«gi. Pēc Ŕīs apskates un apmācÄ«bas programmu un lietotņu googlÄ“Å”anas mēs nolēmām, ka mÅ«su galvenā atŔķirÄ«ba bÅ«s ugunsdzēsÄ«bas treniņi. Mēs izvēlējāmies vairākas funkcijas, kuras mums Ŕķita interesanti ieviest (reÄ£istrācija ar e-pasta un paroles pārbaudi pret hakeru datu bāzēm, pikŔķerÄ“Å”anas e-pasta sÅ«tÄ«Å”ana (vēstuļu veidā no pazÄ«stamām bankām), sociālās inženierijas apmācÄ«ba tērzÄ“Å”anā). IzlēmuÅ”i, ko darām, un sapratuÅ”i, kā varam izcelties, mēs ātri uzrakstÄ«jām pilnvērtÄ«gu tÄ«mekļa lietojumprogrammu, un es spēlēju neparasto aizmugursistēmas izstrādātāja lomu. LÄ«dz ar to pārliecinoÅ”i uzvarējām savā trasē un trÄ«s citu komandu sastāvā kvalificējāmies finālsacensÄ«bām Kazaņā. Vēlāk Kazaņā uzzināju, ka atlase finālam bija izdomājums, tur satiku daudzas pazÄ«stamas sejas no komandām, kuras atlasi nepārvarēja. MÅ«s pat intervēja 1. kanāla žurnālisti. Taču ziņojumā no tā mÅ«su aplikācija tika rādÄ«ta tikai 1 sekundi.

Digitālais izrāviens ā€“ kā tas notika
Snowed komanda, kurā uzvarēju reģionālā posmā

Fināls (Kazaņa, 27. gada 29.ā€“2019. septembris)

Bet tad sākās neveiksmes. Visi Snowed komandas programmētāji aptuveni mēneÅ”a laikā viens pēc otra ziņoja, ka nevarēs doties uz Kazaņu uz finālu. Un es domāju atrast jaunu komandu. Vispirms es piezvanÄ«ju Krievijas Hack Team vispārējā čatā, un, lai gan tur saņēmu diezgan daudz atbilžu un uzaicinājumu pievienoties komandām, neviens no tiem manu uzmanÄ«bu nepievērsa. Bija nesabalansētas komandas, piemēram, produkts, mobilais izstrādātājs, front-end, kas atgādina gulbi, vēžus un lÄ«dakas no fabulas. Bija arÄ« komandas, kas man nebija piemērotas tehnoloÄ£iju ziņā (piemēram, ar mobilās aplikācijas izstrādi Flutter). Beidzot tērzÄ“Å”anā, kuru uzskatÄ«ju par muļķīgu (tā pati VKontakte, kur notika komandu atlase reÄ£ionālajam posmam), tika ievietots sludinājums par frontendera meklÄ“Å”anu komandai, un es uzrakstÄ«ju tÄ«ri nejauÅ”i. PuiÅ”i izrādÄ«jās Skoltech absolventi un nekavējoties piedāvāja satikties un iepazÄ«ties. Man tas patika; komandas, kuras hakatonā dod priekÅ”roku vienam otru uzreiz iepazÄ«t, parasti mani satrauc ar motivācijas trÅ«kumu. Mēs tikāmies pie Pjatņitskajas ā€œRakeā€. PuiÅ”i Ŕķita gudri, motivēti, pārliecināti par sevi un uzvaru, un es tieÅ”i tur pieņēmu lēmumu. Mēs vēl nezinājām, kādas dziesmas un uzdevumi bÅ«s finālā, taču pieņēmām, ka izvēlēsimies kaut ko saistÄ«tu ar maŔīnmācÄ«Å”anos. Un mans uzdevums bÅ«s uzrakstÄ«t adminu Å”im jautājumam, tāpēc es tam iepriekÅ” sagatavoju veidni, pamatojoties uz antd-admin.
Uz Kazaņu devos bez maksas, par organizatoru lÄ«dzekļiem. Jāsaka, ka čatos un blogos jau ir pausta liela neapmierinātÄ«ba par biļeÅ”u iegādi un vispār fināla organizÄ“Å”anu, to visu nepārstāstÄ«Å”u.

IeraduÅ”ies uz Kazaņas Expo, reÄ£istrējuÅ”ies (nelielas grÅ«tÄ«bas ar žetonu sagādāju) un pabrokastojuÅ”i, devāmies izvēlēties trasi. Mēs devāmies tikai uz svinÄ«go atklāŔanu, kurā runāja amatpersonas, apmēram 10 minÅ«tes.PatiesÄ«bā mums jau bija mÅ«su iecienÄ«tākās dziesmas, bet mÅ«s interesēja detaļas. Trasē Nr.18 (Rostelecom), piemēram, izrādÄ«jās, ka ir nepiecieÅ”ams izstrādāt mobilo aplikāciju, lai gan tas nebija Ä«sajā aprakstā. Mēs izdarÄ«jām galveno izvēli starp trasi Nr.8 Cauruļvadu defektoskopija, PJSC Gazprom Neft un trasi Nr.13 Perinatālie centri, Krievijas Federācijas Kontu palāta. Abos gadÄ«jumos bija nepiecieÅ”ama datu zinātne, un abos gadÄ«jumos tÄ«mekli varēja pievienot. Trasē Nr.13 mÅ«s apturēja tas, ka datu zinātnes uzdevums tur bija diezgan vājÅ”, vajadzēja parsēt Rosstat un nebija skaidrs, vai vajag admin paneli. Un pati uzdevuma vērtÄ«ba bija apÅ”aubāma. Beigās nolēmām, ka kā komanda esam vairāk piemēroti 8. trasei, Ä«paÅ”i tāpēc, ka puiÅ”iem jau bija pieredze lÄ«dzÄ«gu problēmu risināŔanā. Mēs sākām, pārdomājot scenāriju, kurā mÅ«su lietojumprogrammu izmantos galalietotājs. IzrādÄ«jās, ka mums bÅ«s divu veidu lietotāji: tehniÄ·i, kurus interesēja tehniskā informācija, un vadÄ«tāji, kuriem nepiecieÅ”ami finanÅ”u rādÄ«tāji. Kad radās ideja par scenāriju, kļuva skaidrs, ko darÄ«t priekÅ”pusē, kas dizainerim jāzÄ«mē un kādas metodes bija nepiecieÅ”amas aizmugurē, kļuva iespējams sadalÄ«t uzdevumus. Pienākumi komandā tika sadalÄ«ti Ŕādi: divi cilvēki risināja ML ar datiem, kas saņemti no tehniskajiem ekspertiem, viens cilvēks uzrakstÄ«ja aizmuguri Python, es uzrakstÄ«ju priekŔējo daļu React un Antd, dizainers uzzÄ«mēja saskarnes. Mēs pat apsēdāmies, lai, risinot problēmas, mums bÅ«tu ērtāk sazināties.

Pirmā diena paskrēja gandrÄ«z nemanot. Sazinoties ar tehniskajiem ekspertiem, izrādÄ«jās, ka viņi (Gazprom Neft) Å”o problēmu jau ir atrisinājuÅ”i, viņi tikai domāja, vai to varētu atrisināt labāk. Es neteikÅ”u, ka tas samazināja manu motivāciju, bet tas atstāja nogulsnes. Biju pārsteigts, ka naktÄ« sekcijas moderatori atzÄ«mēja darba komandas (kā teica statistikai), hakatonos to parasti nepraktizē. LÄ«dz rÄ«tam mums bija gatavs priekÅ”puses prototips, daži aizmugures elementi un pirmais ML risinājums. Vispār jau bija ko parādÄ«t ekspertiem. Sestdienas pēcpusdienā dizainers acÄ«mredzami uzzÄ«mēja vairāk saskarņu, nekā man bija laiks kodēt, un pārgāja uz prezentācijas izveidi. Sestdiena bija atvēlēta rekorda reÄ£istrÄ“Å”anai, un no rÄ«ta visi zālē strādājoÅ”ie tika izmesti gaitenÄ«, pēc tam ieeja un izeja no zāles tika veikta ar nozÄ«mÄ«tēm, un vairs nevarēja iziet. nekā stundu dienā. Es neteikÅ”u, ka tas mums sagādāja bÅ«tiskas neērtÄ«bas; lielāko dienas daļu mēs joprojām sēdējām un strādājām. Ēdiens patieŔām bija ļoti trÅ«cÄ«gs, pusdienās saņēmām glāzi buljona, pÄ«rāgu un ābolu, bet tas atkal mÅ«s Ä«paÅ”i nesatrauca, mēs koncentrējāmies uz kaut ko citu.

Viņi periodiski izsniedza red bull, divas kannas katrā rokā, kas bija ļoti noderÄ«gi. EnerÄ£ijas dzēriens + kafija recepte, kas jau sen tika pārbaudÄ«ta hakatonos, ļāva man kodēt visu nakti un nākamo dienu, bÅ«dama dzÄ«vespriecÄ«ga kā glāze. Otrajā dienā mēs faktiski vienkārÅ”i pievienojām lietojumprogrammai jaunas funkcijas, aprēķinājām finanÅ”u rādÄ«tājus un sākām attēlot grafikus par Å”oseju defektu statistiku. MÅ«su trasē koda pārskatÄ«Å”ana kā tāda nenotika, eksperti problēmas risinājumu novērtēja kaggle.com stilā, pamatojoties uz prognozes precizitāti, un priekÅ”puse tika novērtēta vizuāli. MÅ«su ML risinājums izrādÄ«jās visprecÄ«zākais, iespējams, tieÅ”i tas ļāva mums kļūt par lÄ«deriem. NaktÄ« no sestdienas uz svētdienu mēs strādājām lÄ«dz 2 naktÄ«, un tad devāmies gulēt uz dzÄ«vokli, kuru izmantojām kā bāzi. Nogulējām kādas 5 stundas, svētdien 9 no rÄ«ta jau bijām Kazaņas Expo. SteidzÄ«gi kaut ko gatavoju, bet lielākā daļa laika pagāja gatavojoties priekÅ”aizsardzÄ«bai. PriekÅ”aizstāvÄ“Å”ana notika 2 plÅ«smās, divu ekspertu komandu priekŔā, mÅ«s lÅ«dza runāt pēdējiem, jo ā€‹ā€‹abas ekspertu komandas vēlējās mÅ«s uzklausÄ«t. Mēs to uztvērām kā labu zÄ«mi. Lietojumprogramma tika rādÄ«ta no mana klēpjdatora, no strādājoÅ”a dev servera; mums nebija laika pareizi izvietot lietojumprogrammu, taču visi rÄ«kojās tāpat.

Kopumā viss gāja labi, mums tika norādÄ«ti punkti, kuros varētu uzlabot savu pieteikÅ”anos, un laikā pirms aizsardzÄ«bas pat mēģinājām dažus no Å”iem komentāriem realizēt. ArÄ« aizsardzÄ«ba gāja pārsteidzoÅ”i gludi. Pamatojoties uz priekÅ”aizsardzÄ«bas rezultātiem, zinājām, ka esam priekŔā punktu ziņā, esam vadÄ«bā risinājuma precizitātes ziņā, mums bija laba priekÅ”gala, labs dizains un kopumā labi. jÅ«tām. Vēl viena labvēlÄ«ga zÄ«me bija tā, ka mÅ«su sadaļas meitene moderatore pirms ieieÅ”anas koncertzālē uzņēma ar mums selfiju, un tad man radās aizdomas, ka viņa varētu kaut ko zināt))). Taču pēc aizsardzÄ«bas nezinājām savus punktus, tāpēc laiks lÄ«dz mÅ«su komandas paziņoÅ”anai no posma pagāja nedaudz saspringti. Uz skatuves viņi pasniedza kartonu ar uzrakstu 500000 XNUMX rubļu, un katram tika dota soma ar krÅ«zi un mobilā telefona akumulatoru. Neizdevās izbaudÄ«t uzvaru un kārtÄ«gi nosvinēt to, ātri paēdām vakariņas un ar taksi devāmies uz vilcienu.

Digitālais izrāviens ā€“ kā tas notika
Komanda WAICO uzvar finālā

Atgriežoties Maskavā, mūs intervēja NTV žurnālisti. Filmējām veselu stundu Poļankas kafejnīcas Kvartal 44 otrajā stāvā, bet ziņas rādīja tikai kādas 10 sekundes. Galu galā spēcīgs progress salīdzinājumā ar reģionālo posmu.

Ja mēs apkopojam vispārējos iespaidus par digitālo izrāvienu, tie ir Ŕādi. Pasākumā tika iztērēts daudz naudas, tāda mēroga hakatonus vēl nebiju redzējis. Bet es nevaru teikt, ka tas ir pamatoti un ka tas tieŔām atmaksāsies. Ievērojama daļa dalÄ«bnieku, kas ieradās Kazaņā, bija vienkārÅ”i ballētāji, kuri ar savām rokām nemācēja neko izdarÄ«t un bija spiesti uzstādÄ«t rekordu. Nevaru teikt, ka finālā konkurence bija augstāka nekā reÄ£ionālajā posmā. Tāpat apÅ”aubāma ir atseviŔķu traÅ”u uzdevumu vērtÄ«ba un lietderÄ«ba. Dažas problēmas jau sen ir atrisinātas rÅ«pnieciskā lÄ«menÄ«. Kā vēlāk izrādÄ«jās, dažas organizācijas, kas veica pēdas, nebija ieinteresētas to risināŔanā. Un Å”is stāsts vēl nav beidzies, priekÅ”akceleratoram tika atlasÄ«tas vadoŔās komandas no katras trases, un tiek pieņemts, ka tās izrādÄ«sies IZRAUÅ ANAS startapi. Bet es vēl neesmu gatavs par to rakstÄ«t, redzēsim, kas no tā sanāks.

Avots: www.habr.com

Pievieno komentāru