Mafanikio ya dijiti - jinsi ilifanyika

Hii sio hackathon ya kwanza ninayoshinda, sio ya kwanza kuihusu kuandika, na hili si chapisho la kwanza kwa Habre lililotolewa kwa "Ufanisi wa Dijiti". Lakini sikuweza kujizuia kuandika. Ninachukulia uzoefu wangu kuwa wa kipekee vya kutosha kushiriki. Labda mimi ndiye pekee katika hackathon hii ambaye alishinda hatua ya mkoa na fainali kama sehemu ya timu tofauti. Unataka kujua jinsi hii ilifanyika? Karibu paka.

Hatua ya Mkoa (Moscow, Julai 27 - 28, 2019).

Mara ya kwanza niliona tangazo la "Digital Breakthrough" mahali fulani mnamo Machi-Aprili mwaka huu. Kwa kawaida, sikuweza kupitisha hackathon kubwa na kusajiliwa kwenye tovuti. Huko nilifahamiana na masharti na programu ya shindano hilo. Ilibainika kuwa ili kufikia hackathon, ilibidi upitishe mtihani mkondoni, ambao ulianza Mei 16. Na, labda, ningesahau kwa urahisi juu yake, kwani sikupokea barua iliyonikumbusha juu ya kuanza kwa majaribio. Na, lazima niseme, katika siku zijazo HERUFI ZOTE ambazo zilinijia kutoka kwa CPU mara kwa mara ziliishia kwenye folda ya barua taka. Ingawa nilibofya kitufe cha "si cha kupinga" kila wakati. Sijui waliwezaje kupata matokeo kama haya; haikufanya kazi kwangu kwa kutuma barua kwenye MailGun. Na wavulana hawaonekani kujua hata kidogo juu ya uwepo wa huduma kama vile isnotspam.com. Lakini tunaacha.

Nilikumbushwa kuhusu kuanza kwa majaribio kwenye mojawapo ya mikutano klabu ya kuanza, hapo pia tulijadili uundaji wa timu. Baada ya kufungua orodha ya majaribio, kwanza niliketi kwenye jaribio la Javascript. Kwa ujumla, majukumu yalikuwa zaidi au chini ya kutosha (kama vile matokeo yatakuwa ikiwa utaongeza 1 + '1' kwenye console). Lakini kutokana na uzoefu wangu, ningetumia majaribio kama haya wakati wa kuajiri kwa kazi au timu iliyo na nafasi kubwa sana. Ukweli ni kwamba katika kazi halisi, mpangaji programu mara chache hukutana na vitu kama hivyo, na uwezo wake wa kurekebisha msimbo haraka - maarifa haya hayahusiani kwa njia yoyote, na unaweza kutoa mafunzo kwa vitu kama hivyo kwa mahojiano kwa urahisi kabisa (najua kutoka kwangu). Kwa ujumla, nilibofya mtihani haraka sana, katika hali nyingine nilijiangalia kwenye koni. Katika jaribio la chatu, kazi zilikuwa za takriban aina moja, nilijijaribu pia kwenye koni, na nilishangaa kupata alama nyingi kuliko katika JS, ingawa sijawahi kupanga kitaalam huko Python. Baadaye, katika mazungumzo na washiriki, nilisikia hadithi kuhusu jinsi waandaaji wa programu wenye nguvu walipata majaribio ya chini, jinsi watu wengine walivyopokea barua wakisema kwamba hawakupitisha mchakato wa uteuzi wa CPU, na kisha wakaalikwa kwa hiyo. Ni wazi kwamba waundaji wa majaribio haya wana uwezekano mkubwa hawajasikia chochote kuhusu nadharia ya mtihani, wala juu ya kuegemea na uhalali wao, wala juu ya jinsi ya kuwajaribu, na wazo na vipimo lingekuwa limeshindwa tangu mwanzo, hata ikiwa hatukuzingatia lengo kuu la hackathon. Na lengo kuu la utapeli, kama nilivyojifunza baadaye, lilikuwa kuweka rekodi ya Guinness, na majaribio yalipingana nayo.

Wakati fulani baada ya kupita vipimo, walinipigia simu, wakauliza ikiwa nitashiriki, wakafafanua maelezo na kuniambia jinsi ya kuingia kwenye gumzo kwa ajili ya kuchagua timu. Hivi karibuni, niliingia kwenye gumzo na kuandika kwa ufupi juu yangu. Kulikuwa na takataka kamili kwenye gumzo; ilionekana kuwa waandaaji walikuwa wakitangaza kwa watu wengi wa nasibu ambao hawakuwa na uhusiano wowote na IT. Wasimamizi wengi wa bidhaa "katika kiwango cha Steve Jobs" (maneno halisi kutoka kwa uwasilishaji wa mshiriki mmoja) walichapisha hadithi kuhusu wao wenyewe, na watengenezaji wa kawaida hawakuonekana hata. Lakini nilikuwa na bahati na hivi karibuni nilijiunga na watayarishaji programu watatu wa JS wenye uzoefu. Tulikutana tayari kwenye hackathon, na kisha tukaongeza msichana kwenye timu kwa msukumo na kutatua maswala ya shirika. Sikumbuki ni kwa nini, lakini tulichukua mada "Mafunzo ya Usalama wa Mtandao" na kuijumuisha katika wimbo wa "Sayansi na Elimu ya 2". Kwa mara ya kwanza nilijikuta katika timu ya watengenezaji programu 4 wenye nguvu na kwa mara ya kwanza nilihisi jinsi ilivyokuwa rahisi kushinda katika utunzi kama huo. Tulikuja bila kujiandaa na tukabishana hadi chakula cha mchana na hatukuweza kuamua tungefanya nini: programu ya rununu au ya wavuti. Katika hali nyingine yoyote ningedhani ni kutofaulu. Jambo muhimu zaidi kwetu lilikuwa kuelewa jinsi tutakavyokuwa bora kuliko washindani wetu, kwa sababu kulikuwa na timu nyingi karibu ambazo zilikuwa za majaribio, michezo ya usalama wa mtandao na kadhalika. Baada ya kuangalia hii na programu za mafunzo ya googling na programu, tuliamua kwamba tofauti yetu kuu itakuwa drill drill. Tulichagua idadi ya vipengele ambavyo tulipata kuvutia kutekeleza (kujiandikisha kwa uthibitishaji wa barua pepe na nenosiri dhidi ya hifadhidata za wadukuzi, kutuma barua pepe za ulaghai (kwa njia ya barua kutoka kwa benki zinazojulikana), mafunzo ya uhandisi wa kijamii katika gumzo). Baada ya kuamua juu ya kile tulichokuwa tukifanya na kuelewa jinsi tunavyoweza kusimama, tuliandika haraka programu kamili ya wavuti, na nilicheza jukumu lisilo la kawaida la msanidi wa nyuma. Kwa hivyo, tulishinda wimbo wetu kwa ujasiri na, kama sehemu ya timu zingine tatu, tulifuzu kwa fainali huko Kazan. Baadaye, huko Kazan, nilijifunza kuwa uteuzi wa fainali ulikuwa hadithi ya uwongo; nilikutana na watu wengi wanaojulikana kutoka kwa timu ambazo hazikupita uteuzi. Hata tulihojiwa na waandishi wa habari kutoka Channel 1. Hata hivyo, katika ripoti kutoka kwayo, maombi yetu yalionyeshwa kwa sekunde 1 pekee.

Mafanikio ya dijiti - jinsi ilifanyika
Timu ya theluji, ambapo nilishinda hatua ya kikanda

Mwisho (Kazan, Septemba 27 - 29, 2019)

Lakini basi kushindwa kulianza. Watayarishaji programu wote kutoka kwa timu ya Snowed ndani ya mwezi mmoja, mmoja baada ya mwingine, waliripoti kwamba hawataweza kwenda Kazan kwa fainali. Na nilifikiria kutafuta timu mpya. Kwanza, nilipiga simu katika gumzo la jumla la Timu ya Udukuzi ya Kirusi, na ingawa huko nilipokea majibu mengi na mialiko ya kujiunga na timu, hakuna hata mmoja wao aliyevutia umakini wangu. Kulikuwa na timu zisizo na usawa, kama vile bidhaa, msanidi programu wa rununu, mwisho wa mbele, ukumbusho wa swan, crayfish na pike kutoka kwa hadithi. Pia kulikuwa na timu ambazo hazikufaa kwangu katika suala la teknolojia (kwa mfano, na maendeleo ya programu ya simu katika Flutter). Mwishowe, kwenye gumzo ambalo niliona kuwa ni la kuchukiza (VKontakte ile ile ambapo uteuzi wa timu kwa hatua ya mkoa ulifanyika), tangazo lilitumwa juu ya utaftaji wa mbele wa timu, na niliandika bila mpangilio. Vijana hao waligeuka kuwa wanafunzi waliohitimu huko Skoltech na mara moja walijitolea kukutana na kufahamiana. Niliipenda; timu zinazopendelea kufahamiana mara moja kwenye hackathon kawaida hunitisha kwa kukosa motisha. Tulikutana kwenye "Rake" kwenye Pyatnitskaya. Vijana hao walionekana kuwa wenye busara, waliohamasishwa, wanajiamini wenyewe na kwa ushindi, na nilifanya uamuzi hapo hapo. Bado hatukujua ni nyimbo na kazi gani zingekuwa katika fainali, lakini tulidhani kwamba tungechagua kitu kinachohusiana na Kujifunza kwa Mashine. Na kazi yangu itakuwa kuandika admin kwa jambo hili, kwa hivyo nilitayarisha kiolezo cha hii mapema kulingana na antd-admin.
Nilikwenda Kazan bure, kwa gharama ya waandaaji. Lazima niseme kwamba kutoridhika nyingi tayari kumeonyeshwa kwenye mazungumzo na blogi kuhusu ununuzi wa tikiti na, kwa ujumla, shirika la fainali, sitaiambia tena.

Baada ya kufika kwenye Expo ya Kazan, iliyosajiliwa (nilikuwa na shida kidogo kupata beji) na kupata kifungua kinywa, tulienda kuchagua wimbo. Tulikwenda tu kwenye ufunguzi mkubwa, ambapo viongozi walizungumza, kwa muda wa dakika 10. Kwa kweli, tayari tulikuwa na nyimbo zetu zilizopendekezwa, lakini tulipendezwa na maelezo. Katika wimbo namba 18 (Rostelecom), kwa mfano, ikawa ni muhimu kuendeleza maombi ya simu, ingawa hii haikuwa katika maelezo mafupi. Tulifanya chaguo kuu kati ya wimbo Nambari 8 Defectoscopy ya mabomba, Gazprom Neft PJSC na kufuatilia No. 13 vituo vya Perinatal, Akaunti ya Akaunti ya Shirikisho la Urusi. Katika visa vyote viwili, Sayansi ya Data ilihitajika, na katika visa vyote viwili, wavuti ingeweza kuongezwa. Katika wimbo nambari 13, tulisimamishwa na ukweli kwamba kazi ya Sayansi ya Data huko ilikuwa dhaifu kabisa, ilikuwa ni lazima kuchanganua Rosstat na haikuwa wazi ikiwa jopo la msimamizi lilihitajika. Na thamani yenyewe ya kazi ilikuwa ya shaka. Mwishowe, tuliamua kuwa kama timu tunafaa zaidi kufuatilia 8, haswa kwa kuwa wavulana tayari walikuwa na uzoefu wa kutatua shida kama hizo. Tulianza kwa kufikiria kupitia hali ambayo programu yetu ingetumiwa na mtumiaji wa mwisho. Ilibadilika kuwa tutakuwa na aina mbili za watumiaji: techies ambao walikuwa na nia ya maelezo ya kiufundi na wasimamizi ambao walihitaji viashiria vya kifedha. Wakati wazo la hali hiyo lilipoibuka, ikawa wazi nini cha kufanya kwenye mwisho wa mbele, ni nini mbuni anapaswa kuchora, na ni njia gani zilihitajika nyuma, ikawezekana kusambaza kazi. Majukumu katika timu yalisambazwa kama ifuatavyo: watu wawili walitatua ML na data iliyopokelewa kutoka kwa wataalam wa kiufundi, mtu mmoja aliandika maandishi ya nyuma huko Python, niliandika mwisho wa mbele katika React na Antd, mbuni alichora miingiliano. Hata tuliketi ili iwe rahisi zaidi kwetu kuwasiliana wakati wa kutatua matatizo yetu.

Siku ya kwanza ilipita karibu bila kutambuliwa. Katika mawasiliano na wataalam wa kiufundi, ikawa kwamba wao (Gazprom Neft) walikuwa tayari wametatua tatizo hili, walikuwa wanashangaa tu kama inaweza kutatuliwa bora. Sitasema kwamba hii ilipunguza motisha yangu, lakini iliacha mabaki. Nilishangaa kuwa usiku wasimamizi wa sehemu walibaini timu zinazofanya kazi (kama walivyosema kwa takwimu); hii kawaida haifanyiki kwenye hackathons. Kufikia asubuhi tulikuwa na mfano wa mbele, sehemu za nyuma, na suluhisho la kwanza la ML tayari. Kwa ujumla, tayari kulikuwa na kitu cha kuonyesha wataalam. Siku ya Jumamosi alasiri, mbunifu bila shaka alichora violesura vingi kuliko ambavyo ningekuwa na wakati wa kuweka msimbo na kubadili kuunda wasilisho. Jumamosi ilitengwa kwa ajili ya usajili wa rekodi, na asubuhi, kila mtu anayefanya kazi katika ukumbi alipigwa nje kwenye korido, kisha kuingia na kutoka kwenye ukumbi ulifanywa kwa kutumia beji, na iliwezekana kuondoka bila zaidi. zaidi ya saa moja kwa siku. Sitasema kwamba hii ilituletea usumbufu mkubwa; siku nyingi bado tulikaa na kufanya kazi. Chakula, kwa kweli, kilikuwa kidogo sana; kwa chakula cha mchana tulipokea glasi ya mchuzi, pai na tufaha, lakini tena hii haikutusumbua sana, tulizingatia kitu kingine.

Mara kwa mara walitoa ng'ombe nyekundu, makopo mawili kwa mkono, ambayo ilisaidia sana. Kichocheo cha kinywaji cha nishati + kahawa, ambacho kilikuwa kimejaribiwa kwa muda mrefu kwenye hackathons, kiliniruhusu kuweka msimbo usiku kucha na siku iliyofuata, nikiwa na furaha kama glasi. Siku ya pili, sisi, kwa kweli, tuliongeza tu vipengele vipya kwenye programu, tukahesabu viashiria vya kifedha, na tukaanza kuonyesha grafu kwenye takwimu za kasoro katika barabara kuu. Hakukuwa na ukaguzi wa msimbo kama huo katika wimbo wetu; wataalam walitathmini suluhisho la tatizo katika mtindo wa kaggle.com, kulingana na usahihi wa utabiri, na sehemu ya mbele ilitathminiwa kwa kuonekana. Suluhisho letu la ML liligeuka kuwa sahihi zaidi, labda hii ndiyo iliyoturuhusu kuwa viongozi. Usiku kutoka Jumamosi hadi Jumapili tulifanya kazi hadi 2 asubuhi, na kisha tukalala kwenye ghorofa ambayo tulitumia kama msingi. Tulilala kwa muda wa saa 5, Jumapili saa 9 asubuhi tulikuwa tayari Kazan Expo. Niliandaa kitu haraka, lakini muda mwingi niliutumia kujiandaa kwa ulinzi wa awali. Ulinzi wa awali ulifanyika katika mikondo 2, mbele ya timu mbili za wataalam; tuliombwa kuzungumza mwisho, kwani timu zote mbili za wataalam zilitaka kutusikiliza. Tulichukua hii kama ishara nzuri. Programu ilionyeshwa kutoka kwa kompyuta yangu ndogo, kutoka kwa seva inayoendesha dev; hatukuwa na wakati wa kupeleka programu vizuri, hata hivyo, kila mtu alifanya vivyo hivyo.

Kwa ujumla, kila kitu kilikwenda vizuri, tulionyeshwa vidokezo ambavyo tunaweza kuboresha maombi yetu, na kwa wakati kabla ya utetezi tulijaribu kutekeleza baadhi ya maoni haya. Ulinzi nao ulikwenda vizuri kwa kustaajabisha. Kulingana na matokeo ya ulinzi wa awali, tulijua kwamba tulikuwa mbele kwa pointi, tulikuwa tunaongoza kwa usahihi wa ufumbuzi, tulikuwa na mwisho mzuri wa mbele, muundo mzuri na, kwa ujumla, tulikuwa mzuri. hisia. Ishara nyingine nzuri ilikuwa kwamba msimamizi wa msichana kutoka sehemu yetu alichukua selfie na sisi kabla ya kuingia kwenye ukumbi wa tamasha, kisha nikashuku kuwa anaweza kujua kitu))). Lakini hatukujua alama zetu baada ya ulinzi, kwa hivyo muda hadi timu yetu ilipotangazwa kutoka jukwaani ulipita kwa mvutano kidogo. Wakiwa jukwaani walikabidhi kadibodi yenye maandishi ya rubles 500000 na kila mtu alipewa begi lenye kikombe na betri ya simu. Hatukuweza kufurahia ushindi na kuusherehekea ipasavyo; tulikula chakula cha jioni haraka na kuchukua teksi hadi treni.

Mafanikio ya dijiti - jinsi ilifanyika
Timu ya WAICO inashinda fainali

Baada ya kurudi Moscow, waandishi wa habari kutoka NTV walituhoji. Tulipiga picha kwa saa nzima kwenye ghorofa ya pili ya cafe ya Kvartal 44 kwenye Polyanka, lakini habari ilionyesha tu kuhusu sekunde 10. Baada ya yote, maendeleo makubwa ikilinganishwa na hatua ya kikanda.

Ikiwa tutafanya muhtasari wa maonyesho ya jumla ya Mafanikio ya Dijiti, ni kama ifuatavyo. Pesa nyingi zilitumika kwenye hafla hiyo; sijawahi kuona hackathons za kiwango kama hicho hapo awali. Lakini siwezi kusema kwamba hii ni haki na kwamba itakuwa kweli kulipa. Sehemu kubwa ya washiriki waliokuja Kazan walikuwa washiriki wa sherehe ambao hawakujua jinsi ya kufanya chochote kwa mikono yao wenyewe, na ambao walilazimishwa kuweka rekodi. Siwezi kusema kwamba ushindani katika fainali ulikuwa wa juu kuliko katika hatua ya kanda. Pia, thamani na manufaa ya kazi za baadhi ya nyimbo ni ya kutiliwa shaka. Baadhi ya matatizo yametatuliwa kwa muda mrefu katika ngazi ya viwanda. Kama ilivyotokea baadaye, mashirika mengine ambayo yaliendesha nyimbo hizo hayakutaka kuzitatua. Na hadithi hii bado haijaisha, timu zinazoongoza kutoka kwa kila wimbo zilichaguliwa kwa kiongeza kasi cha awali, na inachukuliwa kuwa zitakuwa BREAKTHROUGH za kuanzia. Lakini siko tayari kuandika kuhusu hili bado, tutaona kitakachotokea.

Chanzo: mapenzi.com

Kuongeza maoni