Digitalt genombrott — hur det gick till

Det hĂ€r Ă€r inte den första hackathon jag vinner, inte den första jag skriver om , och det hĂ€r Ă€r lĂ„ngt ifrĂ„n det första inlĂ€gget pĂ„ HabrĂ© som handlar om "Digital genombrĂ„d". Men jag kunde inte lĂ„ta bli att skriva. Jag anser att min erfarenhet Ă€r tillrĂ€ckligt unik för att dela med mig av den. Kanske Ă€r jag den enda pĂ„ den hĂ€r hackathonen som har vunnit bĂ„de regionala etappen och finalen med olika team. Vill du veta hur det gick till? VĂ€lkommen under kat.Regional etapp (Moskva, 27–28 juli 2019).

Jag sĂ„g reklamen för "Digital genombrĂ„d" för första gĂ„ngen nĂ„gon gĂ„ng i mars-april i Ă„r. Naturligtvis kunde jag inte bara gĂ„ förbi en sĂ„ stor hackathon och registrerade mig pĂ„ webbplatsen. DĂ€r bekantade jag mig med villkoren och programmet för tĂ€vlingen. Det visade sig att för att delta i hackathonet mĂ„ste man genomgĂ„ online-test, som började den 16 maj. Och kanske skulle jag lyckligt glömma bort det, eftersom inget pĂ„minnelsebrev om starten av testningen hade kommit. Och jag mĂ„ste sĂ€ga att alla brev som kom till mig frĂ„n CP hamnade konsekvent i skrĂ€ppostmappen. Även om jag varje gĂ„ng klickade pĂ„ knappen "inte skrĂ€ppost". Jag vet inte hur de lyckades fĂ„ det resultatet, jag hade sĂ„ inte med min MailGun-utskick. Och det verkar som om killarna inte kĂ€nner till tjĂ€nster som isnotspam.com överhuvudtaget. Men vi kom bort frĂ„n Ă€mnet.

Jag fick en pÄminnelse om början av testningen pÄ ett av mötena

av startupklubben startupklubb, dĂ€r diskuterade vi ocksĂ„ teamets bildande. NĂ€r jag öppnade listan över tester satte jag mig först och frĂ€mst ner för testet i Javascript. Generellt sett var uppgifterna mer eller mindre rimliga (typ, vilket resultat det blir om man adderar 1 + ‘1’ i konsolen). Men baserat pĂ„ min erfarenhet skulle jag vĂ€ga anvĂ€ndningen av sĂ„dana tester vid rekrytering eller i ett team med vĂ€ldigt stora förbehĂ„ll. Anledningen Ă€r att en programmerare sĂ€llan stöter pĂ„ sĂ„dana saker i verkligt arbete, och deras förmĂ„ga att snabbt knĂ„pa ihop kod — dessa kunskaper korrelerar överhuvudtaget inte, och att öva pĂ„ sĂ„dana saker för intervjuer kan man göra ganska lĂ€tt (vet av egen erfarenhet). Sammanfattningsvis klarade jag testet ganska snabbt, och i vissa fall kontrollerade jag mig sjĂ€lv i konsolen. I testet för python var uppgifterna av liknande typ, jag kontrollerade ocksĂ„ mig sjĂ€lv i konsolen, förvĂ„nat fick jag fler poĂ€ng Ă€n i JS, Ă€ven om jag aldrig har programmerat professionellt i python. Senare, under samtal med deltagarna, hörde jag historier om hur duktiga programmerare fick lĂ„ga poĂ€ng pĂ„ testerna, hur vissa personer fick meddelanden om att de inte hade klarat urvalet för CP, för att sedan Ă€ndĂ„ bli inbjudna till det. Det Ă€r tydligt att skaparna av dessa tester förmodligen inte har hört nĂ„got om testteori, eller om deras tillförlitlighet och validitet, eller om hur man testar dem, och idĂ©n med tester frĂ„n början skulle varit en katastrof, Ă€ven utan att ta hĂ€nsyn till hackatonets huvudsyfte. Och hackatonets huvudsyfte, som jag senare fick veta, var att sĂ€tta ett Guinness-rekord, och testerna motsade det.

Vid nÄgot tillfÀlle, efter att ha klarat testerna, ringde de mig, frÄgade om jag skulle delta, klargjorde detaljer och berÀttade hur jag skulle gÄ med i chatten för teammatchning. Snart gick jag in i chatten och skrev kort om mig sjÀlv. Det var total kaos i chatten, det kÀndes som om arrangörerna hade dragit ihop massor av slumpmÀssiga personer utan nÄgon koppling till IT genom reklam. MÄnga produktchefer pÄ "Steve Jobs-nivÄ" (ett verkligt citat frÄn en deltagare) postade berÀttelser om sig sjÀlva, och riktiga utvecklare var knappt synliga. Men jag hade tur och snart anslöt jag mig till tre erfarna JS-utvecklare. Vi lÀrde kÀnna varandra redan pÄ hackathonet, och dÄ lade vi till en tjej i vÄrt team för inspiration och för att hantera organisatoriska frÄgor. Jag minns inte varför, men vi valde temat "Utbildning i cybersÀkerhet" och hamnade med det i spÄr "Vetenskap och utbildning 2". Jag befann mig för första gÄngen i ett team av 4 starka programmerare och kÀnde för första gÄngen hur lÀtt det var att vinna i en sÄn sammansÀttning. Vi kom utan förberedelser och diskuterade fram till lunchen utan att kunna bestÀmma oss: mobilapplikation eller webb. I vilken annan situation som helst skulle jag ha trott att det var ett misslyckande. Det viktigaste för oss var att förstÄ hur vi skulle kunna vara bÀttre Àn konkurrenterna, eftersom det fanns mÄnga team runt omkring som skapade tester, spel kring cybersÀkerhet och liknande. NÀr jag sÄg detta och googlade efter utbildningsprogram och applikationer, bestÀmde vi att vÄr huvudsakliga sÀrdrag skulle vara trÀningar baserade pÄ brandlarmens princip. Vi valde ut en rad funktioner som verkade intressanta för genomförande (registrering med verifiering av e-post och lösenord mot hackardatabaser, utskick av phishing-e-post (i form av brev frÄn kÀnda banker), trÀningar i social ingenjörskonst i chatten). NÀr vi hade bestÀmt oss för vad vi skulle göra och förstÄtt hur vi kunde sticka ut, skrev vi ganska snabbt en fullstÀndig webbapplikation, och jag tog pÄ mig en roll som backendutvecklare, vilket var ovanligt för mig. PÄ sÄ sÀtt vann vi vÄrt spÄr med bravur och tillsammans med ytterligare tre team kvalificerade vi oss till finalen i Kazan. Senare, i Kazan, fick jag reda pÄ att urvalet till finalen var skenbart, jag trÀffade mÄnga bekanta ansikten frÄn team som inte klarade urvalet. Journalister frÄn första kanalen intervjuade oss. TyvÀrr visades vÄr applikation bara i en sekund av reportaget.

Digitalt genombrott — hur det gick till
Team Snowed, with which I won the regional stage

Final (Kazan, September 27 – 29, 2019)

But then the setbacks began. All the programmers from team Snowed, one by one over about a month, informed me that they wouldn’t be able to go to Kazan for the final. I started thinking about finding a new team. At first, I reached out in the general chat of the Russian Hack Team, and although I received quite a few responses and invitations to teams, none of them caught my interest. There were unbalanced teams, like a product manager, mobile developer, and frontend developer, resembling the swan, crab, and pike from the fable. There were also teams that didn’t match my technology preferences (for example, those focused on developing mobile applications with Flutter). Finally, in a chat that I considered trashy (the one on Vkontakte where team selections for the regional stage occurred), an announcement was posted seeking a frontend developer. I wrote to them purely randomly. The guys turned out to be graduate students from Skoltech and immediately suggested meeting in person. I liked that; teams that prefer to get to know each other right at the hackathon usually raise my suspicions due to their lack of motivation. We met at "Grably" on Pyatnitskaya. The guys seemed capable, motivated, confident, and sure of victory, and I made my decision right then and there. We didn’t yet know what tracks and tasks would be in the final, but we assumed we would choose something related to Machine Learning. My task would be to write an admin panel for it, so I had prepared a template based on antd-admin in advance.
I traveled to Kazan for free, courtesy of the organizers. I must say that there was already a lot of discontent expressed in chats and blogs regarding the ticket purchases and the general organization of the final; I won’t go into all of that.

NÀr vi anlÀnde till Kazan Expo, registrerade oss (jag hade lite problem med att fÄ mitt namnbricka) och Ät frukost, gick vi för att vÀlja spÄr. Vi stannade bara i cirka 10 minuter vid den högtidliga invigningen dÀr officiella personer medverkade. Egentligen hade vi redan föredragna spÄr, men vi var intresserade av detaljer. I spÄr nr 18 (Rostelekom) visade det sig att vi behövde utveckla en mobilapp, Àven om detta inte nÀmndes i den korta beskrivningen. VÄrt huvudval stod mellan spÄr nr 8 Rörledningsdefektoskopi, PJSC "Gazpromneft" och spÄr nr 13 Perinatala centra, Ryska federationens revisionskammare. BÄda krÀvde Data Science, och bÄda skulle kunna integrera webben. I spÄr nr 13 stötte vi pÄ problemet att Data Science-uppgiften var ganska svag, vi behövde parsa rosstat och det var oklart om en administrationspanel behövdes. Det ifrÄgasatte ocksÄ vÀrdet av uppgiften. Till slut beslutade vi att som team var vi bÀttre rustade för spÄr 8, sÀrskilt eftersom killarna redan hade erfarenhet av liknande uppgifter. Vi började med att tÀnka ut ett scenario för hur vÄr app skulle anvÀndas av slutanvÀndare. Det visade sig att vi hade tvÄ typer av anvÀndare: tekniker som var intresserade av teknisk information och chefer som behövde ekonomiska indikatorer. NÀr vi hade en uppfattning om scenariot blev det klart vad vi skulle göra pÄ fronten, vad designern skulle rita och vilka metoder som behövdes pÄ backend, vilket möjliggjorde att fördela uppgifter. AnsvarsomrÄdena i teamet fördelades pÄ följande sÀtt: tvÄ personer löste ML med data frÄn tekniska experter, en person kodade backend i Python, jag skrev frontend i React och antd, och designern ritade grÀnssnitt. Vi satte oss till och med sÄ att vi skulle ha lÀttare att kommunicera medan vi löste vÄra uppgifter.

De första 24 timmarna flöt förbi nÀstan obemÀrkt. I diskussionerna med teknikexperterna framkom det att denna uppgift redan hade lösts av dem ("Gazprom Neft"), de var bara nyfikna pÄ om det gick att lösa bÀttre. Jag kan inte pÄstÄ att det minskade motivationen, men det fanns en viss kÀnsla kvar. Det överraskade mig att moderatetorna pÄ natten noterade de fungerande teamen (som de sa för statistiken), vanligtvis görs detta inte pÄ hackathons. PÄ morgonen hade vi en prototyp av fronten klar, nÄgra spirande versioner av backend och den första ML-lösningen. SÄ det fanns egentligen nÄgot att visa för experterna. Under lördagen ritade designern betydligt fler anvÀndargrÀnssnitt Àn jag skulle hunnit koda, och skiftade fokus till att skapa presentationen. Lördagen var avsatt för rekordregistrering, och pÄ morgonen blev alla som arbetade i rummet skickade ut i korridoren, sedan skedde in- och utgÄngen till rummet med hjÀlp av ID-kort, och man fick inte gÄ ut mer Àn en timme under dagen. Jag kan inte sÀga att detta orsakade oss nÄgra stora olÀgenheter, större delen av dagen satt vi ÀndÄ och arbetade. Maten var verkligen mycket sparsammare, vi fick en kopp buljong, en pirog och ett Àpple till lunch, men Ä andra sidan störde det oss inte sÄ mycket, vi var fokuserade pÄ annat.

Periodvis delade de ut Red Bull, tvÄ burkar per person, vilket var mycket vÀlkommet. Den lÀnge beprövade kombinationen av energidryck och kaffe gjorde att vi kunde koda hela natten och nÀsta dag, kÀnde oss pigga som ett mÀrke. PÄ andra dagen lade vi i princip bara till nya funktioner i appen, gjorde en berÀkning av finansiella indikatorer och började visa grafer om defekter i nÀtverken. Det fanns ingen egentlig kodgranskning i vÄrt team, experterna bedömde problemlösningen i stil med kaggle.com, utifrÄn prognosens noggrannhet, medan frontend bedömdes visuellt. VÄr ML-lösning visade sig vara den mest exakta, och det kanske var just detta som gjorde att vi kom i spetsen. Natten mellan lördag och söndag arbetade vi till klockan tvÄ, och dÀrefter Äkte vi till en lÀgenhet vi anvÀnt som bas för att sova. Vi sov i cirka fem timmar, och pÄ söndag morgon klockan nio var vi redan pÄ Kazan Expo. Jag försökte snabbt förbereda nÄgot, men största delen av tiden gick Ät till att förbereda oss för den preliminÀra försvarandet. PreliminÀra försvar hölls i tvÄ grupper framför tvÄ team av experter, vi blev ombedda att tala sist, eftersom bÄda experteams ville lyssna pÄ oss. Vi tog det som ett gott tecken. Appen visades frÄn min bÀrbara dator, frÄn en körande dev-server, vi hann tyvÀrr inte riktigt med att deploya appen, men sÄ gjorde alla.

Överlag gick allt bra, vi fick feedback pĂ„ aspekter dĂ€r vi kunde förbĂ€ttra vĂ„r app, och under tiden fram till försvarandet försökte vi till och med implementera en del av dessa kommentarer. Försvarandet gick ocksĂ„ överraskande smidigt. Efter den preliminĂ€ra försvarandet visste vi att vi lĂ„g i ledning poĂ€ngmĂ€ssigt, vi ledde i noggrannhet i lösningen, vi hade en bra frontend, en bra design och hade, överlag, goda förhoppningar. Ytterligare ett positivt tecken var att tjejen som modererade vĂ„r sektion gjorde en selfie med oss innan vi gick in i konserthallen, dĂ„ misstĂ€nkte jag att hon kanske visste nĂ„got))). Men vi kĂ€nde ju inte vĂ„ra poĂ€ng efter försvarandet, sĂ„ tiden innan vĂ„r teams namn ropades ut frĂ„n scenen var lite nervös. PĂ„ scenen överrĂ€ckte de en kartong med texten 500000 rubel och en pĂ„se med en mugg och ett powerbank för mobiltelefonen. Vi hann inte riktigt njuta av segern och fira ordentligt, vi hade en snabb middag och Ă„kte sedan med taxi till tĂ„get.

Digitalt genombrott — hur det gick till
Team WAICO vinner finalen

Vid Äterkomsten till Moskva intervjuades vi av journalister frÄn NTV. De filmade i en hel timme pÄ andra vÄningen i kaféet "Kvartal 44" pÄ Polyanka, men i nyheterna visades bara omkring 10 sekunder. I jÀmförelse med det regionala steget Àr det ÀndÄ en stor framgÄng.

Om jag ska sammanfatta de allmÀnna intrycken frÄn Digitala Genombrottet sÄ ser de ut sÄ hÀr. Det har spenderats enorma summor pÄ evenemanget, jag har aldrig sett hackathons av en sÄdan skala tidigare. Men jag kan inte sÀga att det var vÀrt det eller att det verkligen kommer att löna sig. En betydande del av deltagarna som kom till Kazan var bara festprissar som inte kan göra nÄgot med sina egna hÀnder och som kom dit för att sÀtta ett rekord. Jag kan inte sÀga att konkurrensen i finalen var högre Àn pÄ den regionala nivÄ. Dessutom vÀcker vÀrdet och nyttan av uppgifterna i vissa spÄr tvivel. Vissa uppgifter hade redan lÀnge lösts pÄ industriell nivÄ. Som det senare visade sig var vissa organisationer som ledde spÄren inte ens intresserade av deras lösning. Och denna historia Àr Ànnu inte slut, ledande team frÄn varje spÄr valdes ut till pre-acceleratorn, och det förvÀntas att det ska bli BANDBRYTANDE startups av dem. Men jag Àr inte redo att skriva om det Àn, vi fÄr se vad som kommer ut av det.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster