Përparim dixhital - si ndodhi

Ky nuk është hakatoni i parë që fitoj, as i pari për të cilin fitoj shkrimi, dhe ky nuk është postimi i parë në Habré kushtuar “Digital Breakthrough”. Por nuk mund të mos shkruaja. Unë e konsideroj përvojën time mjaft unike për ta ndarë. Unë jam ndoshta personi i vetëm në këtë hackathon që fitova fazën rajonale dhe finalet si pjesë e ekipeve të ndryshme. Dëshironi të dini se si ndodhi kjo? Mirë se vini në mace.

Faza rajonale (Moskë, 27 - 28 korrik 2019).

Për herë të parë pashë një reklamë për "Digital Breakthrough" diku në mars-prill të këtij viti. Natyrisht, nuk mund të kaloja një hackathon kaq të madh dhe të regjistrohesha në sit. Aty u njoha me kushtet dhe programin e konkursit. Doli që për të arritur në hackathon, duhej të kalonit një test në internet, i cili filloi në 16 maj. Dhe, mbase, do ta kisha harruar me lehtësi, pasi nuk mora një letër që më kujtonte fillimin e testimit. Dhe, më duhet të them, në të ardhmen TË GJITHA LETRAT që më erdhën nga CPU përfunduan vazhdimisht në dosjen e postës së padëshiruar. Edhe pse klikova çdo herë butonin "jo i kundërshtueshëm". Nuk e di se si arritën të arrinin një rezultat të tillë; nuk më funksionoi me postimin në MailGun. Dhe djemtë nuk duket se dinë fare për ekzistencën e shërbimeve si isnotspam.com. Por ne largohemi.

Më kujtuan fillimin e testimit në një nga takimet klub fillestar, aty diskutuam edhe për formimin e ekipit. Pasi hapa listën e testeve, fillimisht u ula në testin Javascript. Në përgjithësi, detyrat ishin pak a shumë të përshtatshme (si rezultati do të jetë nëse shtoni 1 + '1' në tastierë). Por nga përvoja ime, do të përdorja teste të tilla kur rekrutoja për një punë ose një ekip me rezerva shumë të mëdha. Fakti është se në punën reale, një programues rrallë has në gjëra të tilla, me aftësinë e tij për të korrigjuar shpejt kodin - kjo njohuri nuk lidhet në asnjë mënyrë, dhe ju mund të stërviteni për gjëra të tilla për intervista mjaft lehtë (e di nga vetja). Në përgjithësi, e klikova testin mjaft shpejt, në disa raste e kontrollova veten në tastierë. Në testin e python, detyrat ishin afërsisht të të njëjtit lloj, unë gjithashtu e testova veten në tastierë dhe u befasova që fitova më shumë pikë sesa në JS, megjithëse nuk kam programuar kurrë profesionalisht në Python. Më vonë, në bisedat me pjesëmarrësit, dëgjova histori se si programuesit e fortë shënuan rezultate të ulëta në teste, se si disa njerëz morën letra duke thënë se nuk e kaluan procesin e përzgjedhjes për CPU, dhe më pas ata gjithsesi u ftuan në të. Është e qartë se krijuesit e këtyre testeve me shumë mundësi nuk kanë dëgjuar asgjë teoria e testit, as për besueshmërinë dhe vlefshmërinë e tyre, as për mënyrën e testimit të tyre, dhe ideja me teste do të kishte qenë e dështuar që në fillim, edhe nëse nuk do të kishim parasysh qëllimin kryesor të hackathon-it. Dhe qëllimi kryesor i hakimit, siç mësova më vonë, ishte vendosja e një rekord Guinness, dhe testet e kundërshtuan atë.

Në një moment pasi kalova testet, më thirrën, më pyetën nëse do të merrja pjesë, sqaruan detajet dhe më thanë se si të futesha në chat për zgjedhjen e një ekipi. Së shpejti, hyra në chat dhe shkrova shkurtimisht për veten time. Kishte mbeturina të plota në bisedë; dukej se organizatorët po reklamonin për shumë njerëz të rastësishëm që nuk kishin asnjë lidhje me IT. Menaxherë të shumtë të produkteve "në nivelin e Steve Jobs" (një frazë e vërtetë nga parashtrimi i një pjesëmarrësi) postuan histori për veten e tyre dhe zhvilluesit normalë nuk ishin as të dukshëm. Por unë isha me fat dhe së shpejti iu bashkua tre programuesve me përvojë të JS. Ne u takuam me njëri-tjetrin tashmë në hackathon, dhe më pas shtuam një vajzë në ekip për frymëzim dhe zgjidhjen e çështjeve organizative. Nuk e mbaj mend pse, por morëm temën "Trajnim për sigurinë kibernetike" dhe e përfshimë në rubrikën "Shkenca dhe Edukimi 2". Për herë të parë e gjeta veten në një ekip prej 4 programuesish të fortë dhe për herë të parë ndjeva sa e lehtë ishte të fitoje në një përbërje të tillë. Erdhëm të papërgatitur dhe debatuam deri në drekë dhe nuk mund të vendosnim se çfarë do të bënim: një aplikacion celular apo një ueb. Në çdo situatë tjetër do të kisha menduar se ishte një dështim. Gjëja më e rëndësishme për ne ishte të kuptonim se si do të ishim më mirë se konkurrentët tanë, sepse kishte shumë ekipe përreth që bënin teste, lojëra të sigurisë kibernetike dhe të ngjashme. Pasi shikuam këtë dhe kërkuam programe dhe aplikacione stërvitore, vendosëm që dallimi ynë kryesor do të ishin stërvitjet e zjarrit. Ne zgjodhëm një sërë veçorish që na dolën interesante për t'u zbatuar (regjistrimi me email dhe verifikimi i fjalëkalimit kundër bazave të të dhënave të hakerëve, dërgimi i emaileve phishing (në formën e letrave nga bankat e njohura), trajnimi i inxhinierisë sociale në chat). Pasi vendosëm se çfarë po bënim dhe kuptuam se si mund të dalloheshim, ne shpejt shkruam një aplikacion të plotë në internet dhe unë luajta rolin e pazakontë të një zhvilluesi të mbështetjes. Kështu, fituam me besim pistën tonë dhe si pjesë e tre skuadrave të tjera u kualifikuam në finalen e Kazanit. Më vonë, në Kazan, mësova se përzgjedhja për në finale ishte një trillim, takova shumë fytyra të njohura nga ekipet që nuk e kaluan përzgjedhjen. Madje jemi intervistuar nga gazetarë të Channel 1. Mirëpo, në raportin prej tij, aplikacioni ynë u shfaq vetëm për 1 sekondë.

Përparim dixhital - si ndodhi
Skuadra me borë, ku fitova fazën rajonale

Finalja (Kazan, 27 – 29 shtator 2019)

Por më pas filluan dështimet. Të gjithë programuesit nga ekipi Snowed brenda rreth një muaji, njëri pas tjetrit, raportuan se nuk do të mund të shkonin në Kazan për në finale. Dhe mendova të gjeja një ekip të ri. Së pari, bëra një telefonatë në bisedën e përgjithshme të Ekipit të Hackave Ruse dhe megjithëse atje mora mjaft përgjigje dhe ftesa për t'u bashkuar me ekipet, asnjëra prej tyre nuk më tërhoqi vëmendjen. Kishte skuadra të çekuilibruara, të tilla si produkti, zhvilluesi celular, pjesa e përparme, që të kujtonte një mjellmë, karavidhe dhe pike nga një përrallë. Kishte gjithashtu ekipe që nuk ishin të përshtatshme për mua për sa i përket teknologjisë (për shembull, me zhvillimin e një aplikacioni celular në Flutter). Më në fund, në një bisedë që e konsiderova të kotë (e njëjta VKontakte ku u bë përzgjedhja e ekipeve për fazën rajonale), u postua një reklamë në lidhje me kërkimin e një drejtuesi për ekipin, dhe unë shkrova thjesht rastësisht. Djemtë doli të ishin studentë të diplomuar në Skoltech dhe menjëherë u ofruan të takoheshin dhe të njiheshin. Më pëlqeu; skuadrat që preferojnë të njihen menjëherë me njëri-tjetrin në një hackathon zakonisht më alarmojnë me mungesën e motivimit të tyre. Ne u takuam në "Rake" në Pyatnitskaya. Djemtë dukeshin të zgjuar, të motivuar, të sigurt në vetvete dhe në fitore, dhe unë e mora vendimin pikërisht aty. Nuk e dinim ende se cilat pista dhe detyra do të ishin në finale, por supozuam se do të zgjidhnim diçka që lidhet me Learning Machine. Dhe detyra ime do të jetë të shkruaj një administrator për këtë çështje, kështu që unë përgatita një shabllon për këtë paraprakisht bazuar në antd-admin.
Unë shkova në Kazan falas, me shpenzimet e organizatorëve. Më duhet të them se tashmë janë shprehur shumë pakënaqësi në muhabet dhe blogje për blerjen e biletave dhe në përgjithësi organizimin e finales, nuk do t'i ritregoj të gjitha.

Pasi mbërritëm në Kazan Expo, u regjistrua (kisha pak vështirësi për të marrë një distinktiv) dhe hëngrëm mëngjes, shkuam të zgjidhnim një pistë. Ne shkuam vetëm në hapjen madhështore, ku folën zyrtarët për rreth 10 minuta, në fakt, tashmë kishim pistat tona të preferuara, por na interesonin detajet. Në pistën nr. 18 (Rostelecom), për shembull, doli se ishte e nevojshme të zhvillohej një aplikacion celular, megjithëse kjo nuk ishte në përshkrimin e shkurtër. Ne bëmë zgjedhjen kryesore midis pistës nr. 8 të defektoskopisë së tubacioneve, Gazprom Neft PJSC dhe pistës nr. 13 të qendrave perinatale, Dhoma e Llogarive të Federatës Ruse. Në të dyja rastet, Data Science ishte e nevojshme dhe në të dyja rastet, ueb mund të ishte shtuar. Në pistën nr. 13, ne u ndalëm nga fakti se detyra e Shkencës së të Dhënave atje ishte mjaft e dobët, ishte e nevojshme të analizohej Rosstat dhe nuk ishte e qartë nëse duhej një panel administratori. Dhe vetë vlera e detyrës ishte në dyshim. Në fund, vendosëm që si ekip të ishim më të përshtatshëm për të ndjekur 8, veçanërisht pasi djemtë tashmë kishin përvojë në zgjidhjen e problemeve të ngjashme. Ne filluam duke menduar për skenarin në të cilin aplikacioni ynë do të përdorej nga përdoruesi përfundimtar. Doli se do të kishim dy lloje përdoruesish: teknikë që ishin të interesuar për informacionin teknik dhe menaxherë që kishin nevojë për tregues financiarë. Kur u shfaq një ide e skenarit, u bë e qartë se çfarë të bëhej në pjesën e përparme, çfarë duhet të vizatonte projektuesi dhe cilat metoda duheshin në anën e pasme, u bë e mundur shpërndarja e detyrave. Përgjegjësitë në ekip u shpërndanë si më poshtë: dy persona zgjidhën ML me të dhëna të marra nga ekspertë teknikë, një person shkroi backend në Python, unë shkrova pjesën e përparme në React dhe Antd, projektuesi vizatoi ndërfaqet. Madje u ulëm që të na ishte më e përshtatshme të komunikonim gjatë zgjidhjes së problemeve.

Dita e parë kaloi pothuajse pa u vënë re. Në komunikim me ekspertë teknikë, doli se ata (Gazprom Neft) e kishin zgjidhur tashmë këtë problem, ata thjesht po pyesnin nëse mund të zgjidhej më mirë. Nuk do të them se kjo më pakësoi motivimin, por më la mbetje. U habita që natën moderatoret e seksionit shënuan ekipet e punës (siç thanë për statistikat); kjo zakonisht nuk praktikohet në hackathon. Në mëngjes kishim një prototip të pjesës së përparme, disa elemente të pasme dhe zgjidhjen e parë ML gati. Në përgjithësi, tashmë kishte diçka për t'u treguar ekspertëve. Të shtunën pasdite, projektuesi padyshim vizatoi më shumë ndërfaqe sesa do të kisha kohë për të koduar dhe kaloi në krijimin e një prezantimi. E shtuna ishte lënë mënjanë për regjistrimin e rekordit, dhe në mëngjes, të gjithë që punonin në sallë u nxorrën jashtë në korridor, më pas hyrja dhe dalja nga salla u krye duke përdorur distinktivë dhe u bë e mundur të largohej për jo më shumë. se një orë në ditë. Nuk do të them se kjo na shkaktoi ndonjë shqetësim të madh; pjesën më të madhe të ditës ne ende rrinim dhe punonim. Ushqimi, vërtet, ishte shumë i varfër, për drekë morëm një gotë lëng mishi, një byrek dhe një mollë, por përsëri kjo nuk na mërziti shumë, ishim të fokusuar në diçka tjetër.

Ata jepnin periodikisht Red bull, dy kanaçe për dorë, gjë që ishte shumë e dobishme. Receta për pije energjike + kafe, e cila ishte testuar prej kohësh në hackathon, më lejoi të kodoja gjithë natën dhe të nesërmen, duke qenë e gëzuar si një gotë. Në ditën e dytë, ne, në fakt, thjesht shtuam veçori të reja në aplikacion, llogaritëm treguesit financiarë dhe filluam të shfaqim grafikët mbi statistikat e defekteve në autostrada. Nuk kishte asnjë rishikim të kodit si i tillë në pistën tonë; ekspertët vlerësuan zgjidhjen e problemit në stilin kaggle.com, bazuar në saktësinë e parashikimit, dhe pjesa e përparme u vlerësua vizualisht. Zgjidhja jonë ML doli të ishte më e sakta, mbase kjo është ajo që na lejoi të bëheshim udhëheqës. Natën nga e shtuna në të diel kemi punuar deri në orën 2 të mëngjesit dhe më pas shkuam të flinim në apartamentin që përdornim si bazë. Fjetëm rreth 5 orë, të dielën në orën 9 të mëngjesit ishim tashmë në Kazan Expo. Përgatita diçka me nxitim, por pjesën më të madhe të kohës e kalova duke u përgatitur për parambrojtje. Parambrojtjet u zhvilluan në 2 rryma, përballë dy ekipeve ekspertësh, neve na kërkuan të flisnim të fundit, pasi të dy ekipet e ekspertëve donin të na dëgjonin. Ne e morëm këtë si një shenjë të mirë. Aplikacioni u shfaq nga laptopi im, nga një server i drejtuar dev; ne nuk kishim kohë për ta vendosur siç duhet aplikacionin, megjithatë, të gjithë bënë të njëjtën gjë.

Në përgjithësi, gjithçka shkoi mirë, na u vunë në dukje pika në të cilat mund të përmirësonim aplikimin tonë, madje në kohën para mbrojtjes u përpoqëm të zbatonim disa nga këto komente. Edhe mbrojtja shkoi çuditërisht pa probleme. Në bazë të rezultateve të mbrojtjes paraprake, ne e dinim se ishim përpara për sa i përket pikëve, ishim në krye për sa i përket saktësisë së zgjidhjes, kishim një front të mirë, dizajn të mirë dhe, në përgjithësi, kishim mirë. ndjenjat. Një tjetër shenjë e favorshme ishte se vajza moderatore nga seksioni ynë bëri një selfie me ne para se të hynte në sallën e koncerteve, dhe më pas dyshova se ajo mund të dinte diçka))). Por ne nuk i dinim rezultatet pas mbrojtjes, kështu që koha deri në shpalljen e ekipit tonë nga skena kaloi paksa e tensionuar. Në skenë ata dorëzuan një karton me mbishkrimin 500000 rubla dhe çdo personi iu dha një çantë me një turi dhe një bateri celulari. Nuk arritëm ta shijonim fitoren dhe ta festonim siç duhej; darkuam shpejt dhe morëm një taksi për në tren.

Përparim dixhital - si ndodhi
Skuadra WAICO fiton finalen

Pas kthimit në Moskë, gazetarët e NTV na intervistuan. Ne filmuam për një orë të tërë në katin e dytë të kafenesë Kvartal 44 në Polyanka, por lajmet treguan vetëm rreth 10 sekonda. Në fund të fundit, përparim i fortë në krahasim me skenën rajonale.

Nëse përmbledhim përshtypjet e përgjithshme të Përparimit Dixhital, ato janë si më poshtë. U shpenzuan shumë para për ngjarjen, nuk kam parë kurrë më parë hackathon të një përmasash të tillë. Por nuk mund të them se kjo është e justifikuar dhe se do të shpërblehet. Një pjesë e konsiderueshme e pjesëmarrësve që erdhën në Kazan ishin thjesht ahengjerë që nuk dinin të bënin asgjë me duart e tyre dhe që u detyruan të vendosnin një rekord. Nuk mund të them që konkurrenca në finale ishte më e lartë se në fazën rajonale. Gjithashtu, vlera dhe dobia e detyrave të disa pistave është e diskutueshme. Disa probleme janë zgjidhur prej kohësh në nivelin industrial. Siç doli më vonë, disa organizata që kryen gjurmët nuk ishin të interesuara për t'i zgjidhur ato. Dhe kjo histori nuk ka përfunduar ende, ekipet kryesore nga çdo pistë u zgjodhën për para-përshpejtuesin, dhe supozohet se ata do të rezultojnë të jenë startup-e BREAKTHROUGH. Por unë nuk jam gati të shkruaj ende për këtë, do të shohim se çfarë do të vijë prej saj.

Burimi: www.habr.com

Shto një koment