Tas nav pirmais hackathon, ko es uzvaru, ne pirmais, par kuru , un tas noteikti nav pirmais posts HabrÄ, kas veltÄ«ts "DigitÄlajam pÄrbaumam". Bet es nevarÄju nenosÅ«tÄ«t Å”o ziÅu. Uzskatu, ka mana pieredze ir pietiekami unikÄla, lai ar to dalÄ«tos. IespÄjams, es esmu vienÄ«gais Å”ajÄ hackathon, kurÅ” uzvarÄjis reÄ£ionÄlo posmu un finÄlu dažÄdÄs komandÄs. Gribat uzzinÄt, kÄ tas notika? Laipni lÅ«dzam zem katra.
ReÄ£ionÄlais posms (Maskava, 27. ā 28. jÅ«lijs, 2019. gads).
ReklÄmu "DigitÄlais pÄrbaums" es pirmo reizi redzÄju kaut kur Ŕī gada martÄ ā aprÄ«lÄ«. Protams, es nevarÄju garÄm noglaudÄ«t tÄdu lielu hackathon un pieteicos mÄjaslapÄ. Tur arÄ« iepazinos ar konkursu nosacÄ«jumiem un programmu. IzrÄdÄ«jÄs, lai piedalÄ«tos hackathon, ir jÄiziet tieÅ”saistes tests, kas sÄkÄs 16. maijÄ. Un, iespÄjams, es bÅ«tu par to aizmirsis, jo vÄstule ar atgÄdinÄjumu par testÄÅ”anas sÄkumu man nenÄca. JÄteic, ka VISAS VÄSTULES, kas man nÄca no CP, regulÄri nokļuva surogÄtu mapÄ. Lai gan es katru reizi spiedu uz pogas "nav surogÄts". Nezinu, kÄ viÅiem izdevÄs panÄkt Å”Ädu rezultÄtu, man ar MailGun izsÅ«tīŔanu tÄ neizdevÄs. Un par tÄdu servisu kÄ isnotspam.com viÅi, Ŕķiet, vispÄr nezina. Bet mÄs novirzÄ«jÄmies.
Par testÄÅ”anas sÄkumu man atgÄdinÄja vienÄ no sanÄksmÄm , tur mÄs arÄ« apspriedÄm komandas izveidi. Atverot testu sarakstu, vispirms sÄku ar Javascript testu. KopumÄ uzdevumi bija vairÄk vai mazÄk saprÄtÄ«gi (piemÄram, kÄds bÅ«s rezultÄts, ja konsolÄ saskaitÄ«sim 1 + '1'). Bet no savas pieredzes es varÄtu teikt, ka Å”Ädu testu izmantoÅ”anai darba vai komandas atlasÄ bÅ«tu ļoti daudz atrunu. ProblÄma ir tÄ, ka reÄlajÄ darbÄ programmÄtÄjs ar tÄdÄm lietÄm sastopas reti, un viÅa spÄja Ätri rakstÄ«t kodu ā Ŕīs zinÄÅ”anas nemaz nav saistÄ«tas, un apmÄcÄ«ties uz Å”ÄdÄm lietÄm intervijÄm var diezgan viegli (zinu no sevis). KopumÄ es testu Ätri izpildÄ«ju, dažos gadÄ«jumos pÄrbaudot sevi konsolÄ. Python testÄ uzdevumi bija aptuveni tÄda paÅ”a veida, arÄ« pÄrbaudÄ«ju sevi konsolÄ, ar pÄrsteigumu ieguvu vairÄk punktu nekÄ JS testÄ, lai gan uz Python es nekad profesionÄli neesmu programmÄjis. VÄlÄk sazinoties ar dalÄ«bniekiem, dzirdÄju stÄstus, kÄ spÄcÄ«gi programmÄtÄji testos ieguva zemas atzÄ«mes, kÄ daži cilvÄki saÅÄma vÄstules par to, ka viÅi nav izturÄjuÅ”i atlasīŔanu uz CP, bet pÄc tam viÅus tomÄr aicinÄja uz to. Ir skaidrs, ka testu izveidotÄji, visticamÄk, neko nebija dzirdÄjuÅ”i ne par , ne par to uzticamÄ«bu un derÄ«gumu, ne par to, kÄ tos apstiprinÄt, un ideja ar testiem sÄkotnÄji bÅ«tu bijusi neveiksmÄ«ga, pat Åemot vÄrÄ galveno hackatona mÄrÄ·i. Un galvenais hakatona mÄrÄ·is, kÄ es vÄlÄk uzzinÄju, bija uzstÄt Ginesa rekordu, un testi tam pretstatÄ«ja.
KÄdÄ brÄ«dÄ« pÄc testu nokÄrtoÅ”anas man piezvanÄ«ja, jautÄja, vai es piedalīŔos, precizÄja detaļas un pastÄstÄ«ja, kÄ pievienoties komandai piemÄroÅ”anas Äatam. DrÄ«z es pievienojos Äatam un Ä«si pastÄstÄ«ju par sevi. ÄatÄ valdÄ«ja pilnÄ«gs haoss, radÄs iespaids, ka organizatori bija piesaistÄ«juÅ”i daudz nejauÅ”u cilvÄku, kuriem nav nekÄda sakara ar IT. Daudzie "produktmenedžeri lÄ«meÅa StÄ«vs Džobs" (Ä«stÄ frÄze no viena dalÄ«bnieka stÄsta) publicÄja stÄstus par sevi, bet normÄlu izstrÄdÄtÄju pat nebija redzams. Bet man paveicÄs, un es drÄ«z pievienojos trim pieredzÄjuÅ”iem JS programmÄtÄjiem. MÄs satuvinÄjÄmies jau hakatona laikÄ, tad arÄ« pievienojÄm komandai meiteni iedvesmas un organizÄcijas jautÄjumu risinÄÅ”anai. Jau neatceros, kÄpÄc, bet mÄs izvÄlÄjÄmies tÄmu "KiberizsardzÄ«bas apmÄcÄ«ba" un iekļuvÄm trasÄ "ZinÄtne un izglÄ«tÄ«ba 2". Es pirmo reizi atrados komandÄ no 4 spÄcÄ«giem programmÄtÄjiem un pirmo reizi sajutu, cik viegli ir uzvarÄt tÄdÄ sastÄvÄ. MÄs ieradÄmies neapbruÅoti un lÄ«dz pusdienlaikam strÄ«dÄjÄmies un nevarÄjÄm izlemt, ko darÄ«sim: mobilo aplikÄciju vai tÄ«mekļa kÄrtÄ«bu. JebkurÄ citÄ situÄcijÄ es domÄtu, ka tas ir fiasko. Mums visvairÄk vajadzÄja saprast, ar ko mÄs bÅ«sim labÄki par konkurentiem, jo apkÄrt bija daudz komandu, kas veidoja testus, spÄles par kiberizsardzÄ«bu un tamlÄ«dzÄ«gas lietas. Ieskatoties tajÄ un meklÄjot mÄcÄ«bu programmas un aplikÄcijas, mÄs nolemÄm, ka mÅ«su galvenÄ atŔķirÄ«bas iezÄ«me bÅ«s treniÅi lugtÄ, kÄ ugunsgrÄka signalizÄcija. MÄs izvÄlÄjÄmies veselu virkni elementu, kas mums Ŕķita interesanti realizÄÅ”anai (reÄ£istrÄcija ar e-pasta un paroli pÄrbaudi hakeru datubÄzÄs, surogÄtpasta vÄstuļu izsÅ«tīŔana (kÄ vÄstules no pazÄ«stamiem bankÄm), sociÄlÄs inženierijas treniÅi ÄatÄ). Kad mÄs bijÄm izlÄmuÅ”i, ko darÄm, un sapratuÅ”i, kÄ mÄs varam izcelties, mÄs diezgan Ätri uzrakstÄ«jÄm pilnvÄrtÄ«gu tÄ«mekļa aplikÄciju, un es uzstÄjos nesavÄ rakstura loma kÄ aizmugures izstrÄdÄtÄjs. TÄdÄ veidÄ mÄs pÄrliecinoÅ”i uzvarÄjÄm savÄ trasÄ un kopÄ ar vÄl trim komandÄm iekļuvÄm finÄlÄ KazaÅÄ. VÄlÄk KazaÅÄ uzzinÄju, ka iekļūŔana finÄlÄ bija fiktÄ«va, es tur satiku daudz pazÄ«stamu seju no komandÄm, kuras Å”o atlasi nenokÄrtojÄs. Mums pat interviju veica žurnÄlisti no 1. kanÄla. PatiesÄ«bÄ, no reportÄžas tikai uz 1 sekundi parÄdÄ«ja mÅ«su aplikÄciju.

Snowed komanda, ar kuru es uzvarÄju reÄ£ionÄlo posmu
FinÄls (KazaÅa, 27. ā 29. septembris 2019. gads)
TomÄr vÄlÄk sÄkÄs neveiksmes. Visi programmÄtÄji no Snowed komandas aptuveni mÄneÅ”a laikÄ viens pÄc otra paziÅoja, ka nevarÄs doties uz KazÄÅu finÄlÄ. Es sÄku domÄt par jaunas komandas meklÄÅ”anu. SÄkumÄ es rakstÄ«ju paziÅojumu kopÄjÄ Russian Hack Team ÄatÄ, un, lai gan tur saÅÄmu diezgan daudz atsauksmju un piedÄvÄjumu pievienoties komandÄm, neviena no tÄm mani neaizrÄva. Bija nesabalansÄtas komandas, piemÄram, produktu vadÄ«tÄjs, mobilais izstrÄdÄtÄjs, front-end izstrÄdÄtÄjs, kas lÄ«dzÄ«gi atgÄdina leļļu stÄstu par gulbiem, vÄžiem un lÄ«daci. Bija arÄ« komandas, kas man nederÄja tehnoloÄ£iju dÄļ (piemÄram, ar mobilÄ lietojuma izstrÄdi uz Flutter). Beidzot, ÄatÄ, kuru uzskatÄ«ju par nekvalitatÄ«vu (tieÅ”i tas, kur notika komandu atlase reÄ£ionÄlajam posmam), tika publicÄts paziÅojums par meklÄÅ”anu front-end izstrÄdÄtÄjam, un es uzrakstÄ«ju tÄ«ri pÄc nejauŔības. Jauko puiÅ”i izrÄdÄ«jÄs vadoÅ”ie studenti no skoltÄka un uzreiz piedÄvÄja satikties un iepazÄ«ties. Man tas patika, komandas, kas dod priekÅ”roku iepazÄ«ties tieÅ”i hackathonÄ, parasti mani baida ar motivÄcijas trÅ«kumu. MÄs satikÄmies āGrablÄsā PjatÅickajÄ. PuiÅ”i izskatÄ«jÄs saprÄtÄ«gi, motivÄti, pÄrliecinÄti par sevi un uzvaru, un es pieÅÄmu lÄmumu tieÅ”i tur. MÄs vÄl nezinÄjÄm, kÄdi bÅ«s trases un uzdevumi finÄlÄ, bet pieÅÄmÄm, ka izvÄlÄsimies kaut ko saistÄ«tu ar MaŔīnmÄcīŔanos. Manas uzdevums bÅ«s uzrakstÄ«t administrÄcijas paneli Å”im projektam, tÄpÄc es iepriekÅ” sagatavojos paraugu, balstoties uz antd-admin.
Uz KazÄÅu es devos bez maksas, pateicoties organizatoriem. JÄteic, ka Äatos un blogos jau tika izteikta diezgan liela neapmierinÄtÄ«ba saistÄ«bÄ ar biļeÅ”u iegÄdi un kopumÄ finÄla organizÄciju, nepÄrsniegÅ”u to visu Å”eit.
IergÄjoties Kazan Expo, reÄ£istrÄjoties (man radÄs nelielas problÄmas ar identifikatora saÅemÅ”anu) un brokastojot, mÄs devÄmies izvÄlÄties trasi. Uz svinÄ«go atklÄÅ”anu, kur piedalÄ«jÄs oficiÄlas personas, mÄs aizgÄjÄm tikai uz desmit minÅ«tÄm. PatiesÄ«bÄ mums jau bija priekÅ”roka pÄc trasÄm, bet mÅ«s interesÄja detaļas. Trase Nr. 18 (Rostelecom) izrÄdÄ«jÄs, ka jÄizstrÄdÄ mobilÄ lietotne, lai gan tÄs Ä«sajÄ aprakstÄ tas nebija minÄts. GalvenÄ izvÄle bija starp trasi Nr. 8, kas attiecÄs uz cauruļvadu defektoskopiju, PŠŠ "Gazprom neft" un trasi Nr. 13, PerinatÄlajiem centriem, Krievijas FederÄcijas RevÄ«zijas palÄtu. AbÄs situÄcijÄs bija nepiecieÅ”ams Data Science, un abÄs varÄja pievienot tÄ«mekli. Trase Nr. 13 mÅ«s apturÄja ar to, ka uzdevums Data Science bija diezgan vÄjÅ”, bija jÄsavÄc dati no Rosstat, un nebija skaidrs, vai ir nepiecieÅ”ama administratÄ«vÄ saskarne. TurklÄt paÅ”as uzdevuma vÄrtÄ«bu radÄ«ja Å”aubas. BeigÄs mÄs nolÄmÄm, ka kÄ komanda mÄs vairÄk esam vÄrsti uz 8. trasi, jo puiÅ”iem jau bija pieredze lÄ«dzÄ«gu uzdevumu risinÄÅ”anÄ. SÄkÄm ar to, ka izstrÄdÄjÄm scenÄriju, kÄ lietotÄjs izmantos mÅ«su lietotni. IzrÄdÄ«jÄs, ka mums bÅ«s divi lietotÄju veidi: tehniskie speciÄlisti, kuri interesÄjas par tehnisko informÄciju, un vadÄ«tÄji, kuriem bija nepiecieÅ”ami finanÅ”u rÄdÄ«tÄji. Kad radÄs skaidrs priekÅ”stats par scenÄriju, kļuva skaidrs, ko darÄ«t frontÄ, ko zÄ«mÄt dizainerim un kÄdi metodes nepiecieÅ”ami backend'Ä, bija iespÄjams sadalÄ«t uzdevumus. Lomu sadalÄ«jums komandÄ bija Å”Äds: divi cilvÄki risinÄja ML ar datiem, ko ieguvuÅ”i no tehniskajiem ekspertiem, viens cilvÄks rakstÄ«ja backend Python valodÄ, es izstrÄdÄju frontend React un antd, dizainers zÄ«mÄja saskarnes. MÄs pat sÄdÄjÄm tÄ, lai mums bÅ«tu ÄrtÄk sazinÄties, risinot savus uzdevumus.
PirmÄs dienas pagÄja praktiski nemanÄmi. SarunÄs ar tehniskajiem ekspertiem noskaidrojÄs, ka Å”o uzdevumu viÅi ("Gazprom neft") jau ir atrisinÄjuÅ”i, viÅiem vienkÄrÅ”i bija interesanti, vai to var izdarÄ«t labÄk. Nesaku, ka tas pazeminÄja motivÄciju, bet palika neliels aizkaitinÄjums. PÄrsteidza, ka naktÄ« sekciju moderatori atzÄ«mÄja strÄdÄjoÅ”Äs komandas (kÄ viÅi teica, statistikai), parasti hakatonos tas netiek praktizÄts. No rÄ«ta mums jau bija gatavs fronta prototips, daži sÄkumi beka, pirmÄ ML risinÄjuma versija. KopumÄ jau bija ko rÄdÄ«t ekspertiem. OtrajÄ dienas pusÄ dizainers bija uzzÄ«mÄjis jau acÄ«mredzami vairÄk interfeisu, nekÄ es varÄtu bÅ«t uzrakstÄ«jis, un pÄrgÄja pie prezentÄcijas izveides. Sestdiena tika veltÄ«ta rekorda reÄ£istrÄcijai, un no rÄ«ta visus, kas strÄdÄja zÄlÄ, izsvieda uz koridora, pÄc tam ieeja un izeja no zÄles notika, izmantojot identifikÄcijas kartes, turklÄt dienÄ varÄja iziet ne vairÄk kÄ uz stundu. Nesaku, ka tas radÄ«ja mums kÄdas bÅ«tiskas neÄrtÄ«bas, lielÄko daļu dienas mÄs tomÄr sÄdÄjÄm un strÄdÄjÄm. Uzturs tieÅ”Äm bija ļoti nabadzÄ«gs, pusdienÄs mÄs saÅÄmÄm glÄzi buljona, pÄ«rÄgu un Äbolu, bet atkal, tas mÅ«s pÄrÄk nesatrauca, mÄs bijÄm koncentrÄjuÅ”ies uz citu lietu.
Periodiski tika izsniegtas red bull, divas kannas uz rokas, tas bija ļoti lietderÄ«gi. Ilgu laiku izmÄÄ£inÄts hackathon recepts enerÄ£ijas dzÄriens + kafija ļÄva kodÄt visu nakti un nÄkamo dienu, jÅ«toties modram kÄ stikla gabals. OtrajÄ dienÄ mÄs, faktiski, vienkÄrÅ”i pievienojÄm jaunus elementus lietotnei, izstrÄdÄjÄm finansu rÄdÄ«tÄju aprÄÄ·inus, sÄkÄm izstrÄdÄt grafikus par defektu statistiku maÄ£istrÄlÄs. KÄ tÄda code review mÅ«su track nebija, eksperti novÄrtÄja problÄmas risinÄÅ”anu kÄ kaggle.com, pÄc prognozes precizitÄtes, un frontend tika novÄrtÄts vizuÄli. MÅ«su ML risinÄjums izrÄdÄ«jÄs visprecÄ«zÄkais, iespÄjams, tieÅ”i tas mums palÄ«dzÄja izsisties lÄ«deros. NaktÄ« no svÄtdienas uz svÄtdienu mÄs strÄdÄjÄm lÄ«dz diviem naktÄ«, pÄc tam devÄmies izgulÄties dzÄ«voklÄ«, ko izmantojÄm kÄ bÄzi. MÄs gulÄjÄm apmÄram 5 stundas, svÄtdien plkst. 9 no rÄ«ta jau bijÄm Kazan Expo. Es kaut ko steidzÄ«gi piestrÄdÄju, bet lielÄko daļu laika aizÅÄma sagatavoÅ”anÄs priekÅ”sargu aizsardzÄ«bai. PriekÅ”sardzÄ«bas notika divÄs plÅ«smÄs, pirms divÄm ekspertu komandÄm, mums lÅ«dza uzstÄties pÄdÄjiem, jo abas ekspertu komandas vÄlÄjÄs mÅ«s dzirdÄt. MÄs to uztveram kÄ labu zÄ«mi. Lietotni parÄdÄ«jÄm no mana klÄpjdatora, no palaista dev servera, normÄli uzlikt lietotni mÄs nesanÄca, tomÄr tÄ darÄ«ja visi.
KopumÄ viss gÄja labi, mums norÄdÄ«ja uz momentiem, kuros mÄs varÄjÄm uzlabot mÅ«su lietotni, un laikÄ lÄ«dz aizsardzÄ«bai mÄs pat mÄÄ£inÄjÄm ko no Å”iem komentÄriem realizÄt. AizsardzÄ«ba arÄ« notika pÄrsteidzoÅ”i gludi. PÄc priekÅ”sardzÄ«bas mÄs zinÄjÄm, ka punktos esam priekÅ”Ä, mÄs vadÄ«jÄmies pÄc risinÄjuma precizitÄtes, mums bija labs frontend, labs dizains un, kopumÄ, labas nojautas. VÄl viens labvÄlÄ«gs zÄ«me bija tas, ka meitene moderatore no mÅ«su sekcijas, pirms ieieÅ”anas koncertzÄlÄ, izveidoja selfie ar mums, tajÄ brÄ«dÄ« man radÄs aizdomas, ka viÅa, iespÄjams, zina kaut ko))). Bet mÄs savus punktus pÄc aizsardzÄ«bas nezinÄjÄm, tÄpÄc laiks lÄ«dz brÄ«dim, kad mÅ«su komandu izsludinÄja no skatuves, pagÄja nedaudz saspringti. Uz skatuves mums pasniedza kartonku ar uzrakstu 500000 rubļu un katram paciÅu ar krÅ«zi un mobilÄ akumulatoru. IzbaudÄ«t uzvaru un normÄli to atzÄ«mÄt neizdevÄs, mÄs Ätri paÄdÄm vakariÅas un devÄmies ar taksi uz vilcienu.

WAICO komanda uzvar finÄlÄ
At our return to Moscow, we were interviewed by journalists from NTV. They filmed for a whole hour on the second floor of the cafƩ "Kvartal 44" on Polyanka, but only about 10 seconds were shown on the news. Still, it's a strong progress compared to the regional stage.
To summarize the overall impressions from Digital Breakthrough, they are as follows. A staggering amount of money was spent on the event; I've never seen hackathons of this scale before. However, I can't say it's justified or that it will truly pay off. A significant part of the participants who arrived in Kazan were merely party-goers who can't do anything with their hands and were brought in to set a record. I can't say the competition in the finals was stronger than at the regional stage. Additionally, the value and usefulness of some track tasks are questionable. Some problems have long been solved at the industrial level. Later, it turned out that some organizations leading the tracks were not even interested in solving them. And this story is not over; the leading teams from each track were selected for the pre-accelerator, and it is expected that they will produce DISRUPTIVE startups. But I'm not ready to write about this yet; let's see what comes of it.
Avots: habr.com
