Digitaalinen läpimurto – miten se tapahtui

Tämä ei ole ensimmäinen hackathon, jonka voitan, eikä ensimmäinen kirjoittaminen, ja tämä ei ole ensimmäinen Habrén viesti, joka on omistettu "Digital Breakthroughille". Mutta en voinut muuta kuin kirjoittaa. Pidän kokemukseni riittävän ainutlaatuisena jaettavaksi. Olen luultavasti ainoa henkilö tällä hackathonilla, joka voitti alueellisen vaiheen ja finaalin osana eri joukkueita. Haluatko tietää, miten tämä tapahtui? Tervetuloa kissalle.

Alueellinen vaihe (Moskova, 27.-28).

Näin ensimmäisen kerran "Digital Breakthrough" -mainoksen jossain tämän vuoden maalis-huhtikuussa. En tietenkään voinut jättää väliin niin suurta hackathonia ja rekisteröityä verkkosivustolle. Siellä tutustuin kilpailun ehtoihin ja ohjelmaan. Kävi ilmi, että päästäksesi hackathoniin, sinun oli läpäistävä verkkotesti, joka alkoi 16. toukokuuta. Ja ehkäpä olisinkin unohtanut sen, koska en saanut kirjettä, joka muistuttaisi minua testauksen alkamisesta. Ja täytyy sanoa, että jatkossa KAIKKI CPU:lta minulle tulleet KIRJEET päätyivät jatkuvasti roskapostikansioon. Vaikka napsautin "ei moitittavaa" -painiketta joka kerta. En tiedä, kuinka he onnistuivat saavuttamaan tällaisen tuloksen; se ei toiminut minulle MailGun-postituksissa. Ja kaverit eivät näytä tietävän ollenkaan palveluista, kuten isnotspam.com. Mutta poikkeamme.

Minua muistutettiin testauksen alkamisesta yhdessä kokouksessa startup klubi, keskustelimme siellä myös joukkueen muodostamisesta. Avattuani testiluettelon istuin ensin Javascript-testiin. Yleisesti ottaen tehtävät olivat enemmän tai vähemmän riittäviä (kuten mikä on tulos, jos lisäät konsoliin 1 + '1'). Mutta kokemukseni mukaan käyttäisin tällaisia ​​testejä rekrytoiessani työhön tai tiimiin erittäin suurilla varauksilla. Tosiasia on, että todellisessa työssä ohjelmoija kohtaa harvoin sellaisia ​​​​asioita, joilla on kyky korjata koodia nopeasti - tämä tieto ei korreloi millään tavalla, ja voit harjoitella tällaisia ​​​​asioita haastatteluihin melko helposti (tiedän itsestäni). Yleensä napsautin testin läpi melko nopeasti, joissain tapauksissa tarkistin itseni konsolista. Python-testissä tehtävät olivat suunnilleen samantyyppisiä, testasin itseäni myös konsolissa, ja yllätyin saadessani enemmän pisteitä kuin JS:ssä, vaikka en ole koskaan ohjelmoinut ammattimaisesti Pythonissa. Myöhemmin keskusteluissa osallistujien kanssa kuulin tarinoita siitä, kuinka vahvat ohjelmoijat saivat testeissä alhaisia ​​pisteitä, kuinka jotkut ihmiset saivat kirjeitä, joissa kerrottiin, etteivät he läpäisseet prosessorin valintaprosessia, ja sitten heidät kutsuttiin siihen joka tapauksessa. On selvää, että näiden testien tekijät eivät todennäköisesti ole kuulleet mitään testi teoria, ei niiden luotettavuudesta ja pätevyydestä, eikä niiden testaamisesta, ja idea testeistä olisi ollut epäonnistuminen alusta alkaen, vaikka emme olisi huomioineet hackathonin päätavoitetta. Ja hakkeroinnin päätavoite, kuten myöhemmin opin, oli Guinnessin ennätys, ja testit olivat ristiriidassa sen kanssa.

Jossain vaiheessa testien läpäisyn jälkeen minulle soitettiin, kysyttiin osallistuisinko, tarkennettiin yksityiskohtia ja kerrottiin miten pääsen chattiin joukkueen valintaa varten. Pian astuin chattiin ja kirjoitin lyhyesti itsestäni. Chatissa oli täydellistä roskaa; näytti siltä, ​​että järjestäjät mainostivat paljon satunnaisille ihmisille, joilla ei ollut mitään tekemistä IT:n kanssa. Lukuisat tuotepäälliköt "Steve Jobsin tasolla" (todellinen lause yhden osallistujan kommentista) julkaisivat tarinoita itsestään, eivätkä normaalit kehittäjät olleet edes näkyvissä. Mutta olin onnekas ja liityin pian kolmen kokeneen JS-ohjelmoijan joukkoon. Tapasimme toisemme jo hackathonissa, ja sitten lisäsimme tiimiin tytön inspiraatioksi ja organisatoristen asioiden ratkaisemiseksi. En muista miksi, mutta otimme aiheen "Kyberturvallisuuskoulutus" ja sisällytimme sen "Science and Education 2" -kappaleeseen. Ensimmäistä kertaa löysin itseni 4 vahvan ohjelmoijan tiimistä ja ensimmäistä kertaa tunsin kuinka helppoa oli voittaa tällaisessa koostumuksessa. Tulimme valmistautumattomina ja väittelimme lounaaseen asti emmekä voineet päättää mitä tekisimme: mobiilisovelluksen vai verkkosovelluksen. Missä tahansa muussa tilanteessa olisin luullut sen epäonnistuneena. Meille tärkeintä oli ymmärtää, kuinka olisimme parempia kuin kilpailijamme, koska ympärillä oli paljon tiimejä, jotka tekivät leikkaustestejä, kyberturvallisuuspelejä ja muuta vastaavaa. Katsottuamme tätä ja googlattuamme koulutusohjelmia ja sovelluksia päätimme, että pääasiallinen erotuksemme olisi paloharjoitukset. Valitsimme joukon ominaisuuksia, joita pidimme mielenkiintoisena toteuttaa (rekisteröityminen sähköpostilla ja salasanan varmistus hakkeritietokantoja vastaan, tietojenkalasteluviestien lähettäminen (kirjeinä tunnetuilta pankeilta), sosiaalisen suunnittelun koulutus chatissa). Päätettyämme, mitä olemme tekemässä ja ymmärtäneet, kuinka voimme erottua joukosta, kirjoitimme nopeasti täysimittaisen verkkosovelluksen, ja minä näytin epätavallista taustakehittäjän roolia. Näin ollen voitimme itsevarmasti radamme ja pääsimme kolmen muun joukkueen mukana Kazanin finaaliin. Myöhemmin Kazanissa sain tietää, että valinta finaaliin oli fiktiota, tapasin siellä monia tuttuja kasvoja joukkueista, jotka eivät läpäisseet valintaa. Meitä haastattelivat jopa Kanava 1:n toimittajat. Sen raportissa sovelluksemme näytettiin kuitenkin vain 1 sekunnin ajan.

Digitaalinen läpimurto – miten se tapahtui
Snowed team, jossa voitin alueellisen vaiheen

Finaali (Kazan, 27.–29)

Mutta sitten alkoivat epäonnistumiset. Kaikki Snowed-tiimin ohjelmoijat noin kuukauden sisällä, yksi toisensa jälkeen, ilmoittivat, etteivät he voisi mennä Kazaniin finaaliin. Ja ajattelin löytää uuden joukkueen. Ensin soittelin Russian Hack Teamin yleisessä chatissa, ja vaikka sain sieltä melko paljon vastauksia ja kutsuja liittyä ryhmiin, mikään niistä ei kiinnittänyt huomiotani. Mukana oli epätasapainoisia tiimejä, kuten tuote, mobiilikehittäjä, joutsenta muistuttava front-end, rapu ja hauki sadusta. Siellä oli myös tiimejä, jotka eivät olleet minulle tekniikaltaan sopivia (esimerkiksi mobiilisovelluksen kehittäminen Flutterissa). Lopuksi eräässä keskustelussa, jota pidin roskaisena (sama VKontakte, jossa alueellisen vaiheen joukkueet valittiin), julkaistiin ilmoitus joukkueen eturivin etsimisestä, ja kirjoitin puhtaasti satunnaisesti. Kaverit osoittautuivat Skoltechin jatko-opiskelijoiksi ja tarjoutuivat heti tapaamaan ja tutustumaan. Pidin siitä; joukkueet, jotka haluavat tutustua toisiinsa heti hackathonissa, yleensä hälyttävät minua motivaation puutteestaan. Tapasimme Pyatnitskajan "Rakessa". Kaverit vaikuttivat älykkäiltä, ​​motivoituneilta, luottavaisilta itseensä ja voittoon, ja tein päätöksen siellä. Emme vielä tienneet, mitkä kappaleet ja tehtävät tulevat finaaliin, mutta oletimme, että valitsemme jotain koneoppimiseen liittyvää. Ja minun tehtäväni on kirjoittaa admin tähän asiaan, joten tein tähän mallin etukäteen antd-adminin perusteella.
Menin Kazaniin ilmaiseksi, järjestäjien kustannuksella. Täytyy sanoa, että chateissa ja blogeissa on jo ilmaistu paljon tyytymättömyyttä lippujen ostamisesta ja ylipäätään finaalin järjestämisestä, en kerro kaikkea uudelleen.

Saavuttuamme Kazan Expoon, rekisteröityä (minulla oli vähän vaikeuksia saada rintamerkki) ja syötyämme aamiaisen, menimme valitsemaan rataa. Kävimme vain avajaisissa, joissa virkamiehet puhuivat, noin 10 minuuttia.. Itse asiassa meillä oli jo suosikkikappaleemme, mutta olimme kiinnostuneita yksityiskohdista. Esimerkiksi radalla nro 18 (Rostelecom) kävi ilmi, että oli tarpeen kehittää mobiilisovellus, vaikka sitä ei lyhyessä kuvauksessa ollutkaan. Teimme päävalinnan radan nro 8 putkilinjojen defektoskopia, Gazprom Neft PJSC ja radan nro 13 perinataalikeskukset, Venäjän federaation tilikamarin välillä. Molemmissa tapauksissa tarvittiin Data Scienceä, ja molemmissa tapauksissa verkko olisi voitu lisätä. Raidalla nro 13 meidät pysäytti se, että Data Science -tehtävä oli siellä melko heikko, Rosstat piti jäsentää ja ei ollut selvää, tarvitaanko admin paneelia. Ja tehtävän arvo oli kyseenalainen. Lopulta päätimme, että sopisimme joukkueena paremmin radalle 8, varsinkin kun pojilla oli jo kokemusta vastaavien ongelmien ratkaisemisesta. Aloitimme miettimällä skenaariota, jossa loppukäyttäjä käyttäisi sovellustamme. Kävi ilmi, että meillä on kahdenlaisia ​​käyttäjiä: teknikot, jotka olivat kiinnostuneita teknisestä tiedosta, ja johtajat, jotka tarvitsisivat taloudellisia indikaattoreita. Kun idea skenaariosta syntyi, kävi selväksi, mitä etupäässä pitäisi tehdä, mitä suunnittelijan pitäisi piirtää ja mitä menetelmiä takapäähän tarvittiin, tehtävien jakaminen tuli mahdolliseksi. Vastuut jakaantuivat tiimissä seuraavasti: kaksi henkilöä ratkaisi ML:n teknisiltä asiantuntijoilta saaduilla tiedoilla, yksi henkilö kirjoitti taustan Pythonilla, minä kirjoitin käyttöliittymän Reactissa ja Antd:ssä, suunnittelija piirsi rajapinnat. Istuimme jopa alas, jotta meidän olisi mukavampaa kommunikoida samalla kun ratkaisimme ongelmiamme.

Ensimmäinen päivä meni melkein huomaamatta. Kommunikoinnissa teknisten asiantuntijoiden kanssa kävi ilmi, että he (Gazprom Neft) olivat jo ratkaisseet tämän ongelman, he vain ihmettelivät, voitaisiinko se ratkaista paremmin. En sano, että tämä heikensi motivaatiotani, mutta se jätti jäljen. Yllätyin, että osion moderaattorit huomasivat yöllä työryhmät (kuten tilastoissa sanottiin); tätä ei yleensä harjoiteta hackathoneilla. Aamulla meillä oli edessä prototyyppi, takaosan alkeet ja ensimmäinen ML-ratkaisu valmiina. Yleisesti ottaen asiantuntijoille oli jo jotain näytettävää. Lauantaina iltapäivällä suunnittelija ilmeisesti piirsi enemmän käyttöliittymiä kuin minulla olisi aikaa koodata ja siirtyi esityksen luomiseen. Lauantai oli varattu ennätyksen rekisteröinnille ja aamulla kaikki hallissa työskentelevät potkaistiin käytävälle, sitten sisään- ja poistuminen hallista suoritettiin tunnuksilla, eikä enää voinut lähteä. kuin tunti päivässä. En sano, että tämä olisi aiheuttanut meille merkittävää haittaa; suurimman osan päivästä istuimme edelleen ja työskentelimme. Ruoka oli todella niukkaa, lounaaksi saimme lasillisen lientä, piirakan ja omenan, mutta tämäkään ei meitä juurikaan häirinnyt, keskityimme johonkin muuhun.

He antoivat ajoittain red bullia, kaksi tölkkiä per käsi, mikä oli erittäin hyödyllistä. Pitkään hackathoneilla testattu energiajuoma + kahvi -resepti antoi minulle mahdollisuuden koodata koko yön ja seuraavan päivän, iloisena kuin lasi. Toisena päivänä itse asiassa lisäsimme sovellukseen uusia ominaisuuksia, laskemme taloudelliset indikaattorit ja aloimme näyttää kaavioita moottoriteiden vikojen tilastoista. Radallamme ei ollut koodintarkistusta sellaisenaan, vaan asiantuntijat arvioivat ongelman ratkaisun kaggle.com-tyyliin ennusteen tarkkuuden perusteella ja etupää arvioitiin visuaalisesti. ML-ratkaisumme osoittautui tarkimmaksi, ehkä juuri tämä antoi meille mahdollisuuden nousta johtajiksi. Lauantain ja sunnuntain välisenä yönä työskentelimme klo 2:een asti ja menimme sitten nukkumaan asuntoon, jota käytimme tukikohtana. Nukuimme noin 5 tuntia, sunnuntaina klo 9 olimme jo Kazan Expossa. Valmistelin kiireesti jotain, mutta suurin osa ajasta meni valmistautumiseen esipuolustukseen. Esipuolustus tapahtui kahdessa virrassa, kahden asiantuntijaryhmän edessä, meitä pyydettiin puhumaan viimeisenä, koska molemmat asiantuntijaryhmät halusivat kuunnella meitä. Otimme tämän hyvänä merkkinä. Sovellus näytettiin kannettavalta tietokoneeltani, käynnissä olevasta kehityspalvelimesta; meillä ei ollut aikaa ottaa sovellusta käyttöön kunnolla, mutta kaikki tekivät samoin.

Yleisesti ottaen kaikki sujui hyvin, meille esitettiin kohtia, joissa voisimme parantaa sovellustamme, ja puolustusta edeltävänä aikana yritimme jopa toteuttaa joitakin näistä kommenteista. Puolustus sujui myös yllättävän tasaisesti. Esipuolustuksen tulosten perusteella tiesimme, että olimme edellä pisteissä, olimme johtoasemassa ratkaisutarkkuudessa, meillä oli hyvä etuosa, hyvä suunnittelu ja yleisesti ottaen hyvä tunteita. Toinen myönteinen merkki oli, että osastomme tyttömoderaattori otti kanssamme selfien ennen konserttisaliin tuloa, ja sitten epäilin, että hän voisi tietää jotain))). Mutta emme tienneet pisteitämme puolustamisen jälkeen, joten aika ennen kuin joukkueemme lavalle julkistettiin, kului hieman jännittyneenä. Lavalla annettiin pahvi, jossa oli merkintä 500000 XNUMX ruplaa ja jokaiselle annettiin pussi, jossa oli muki ja matkapuhelimen akku. Emme onnistuneet nauttimaan voitosta ja juhlimaan sitä kunnolla; söimme nopeasti illallisen ja menimme taksilla junaan.

Digitaalinen läpimurto – miten se tapahtui
Team WAICO voittaa finaalin

Palattuaan Moskovaan NTV:n toimittajat haastattelivat meitä. Kuvasimme kokonaisen tunnin Polyankan Kvartal 44 -kahvilan toisessa kerroksessa, mutta uutiset näyttivät vain noin 10 sekuntia.Onhan se vahvaa kehitystä alueesiin verrattuna.

Jos teemme yhteenvedon yleisistä vaikutelmista Digital Breakthroughista, ne ovat seuraavat. Tapahtumaan meni paljon rahaa, en ole koskaan ennen nähnyt näin mittakaavaa hackathoneja. Mutta en voi sanoa, että tämä on perusteltua ja että se todella kannattaa. Merkittävä osa Kazaniin saapuneista oli yksinkertaisesti juhlijia, jotka eivät tienneet tehdä mitään omin käsin ja jotka pakotettiin tekemään ennätys. En voi sanoa, että kilpailu finaalissa olisi ollut korkeampi kuin aluevaiheessa. Myös joidenkin kappaleiden tehtävien arvo ja hyödyllisyys ovat kyseenalaisia. Jotkut ongelmat on jo pitkään ratkaistu teollisella tasolla. Kuten myöhemmin kävi ilmi, jotkin jälkiä suorittaneet organisaatiot eivät olleet kiinnostuneita ratkaisemaan niitä. Eikä tämä tarina ole vielä ohi, esikiihdyttimeen valittiin jokaiselta radalta johtavat tiimit, joista oletetaan muodostuvan BRÄTTÖ-startuppeja. Mutta en ole vielä valmis kirjoittamaan tästä, katsotaan mitä siitä tulee.

Lähde: will.com

Lisää kommentti