Дигитални продор - како се то догодило

Ово није први хакатон на којем побеђујем, нити први на коме писање, а ово није први пост на Хабреу посвећен „Дигиталном продору“. Али нисам могао а да не напишем. Сматрам да је моје искуство довољно јединствено да га поделим. Ја сам вероватно једина особа на овом хакатону која је победила у регионалној фази и финалу као део различитих тимова. Желите да знате како се ово догодило? Добродошли у мачку.

Регионална етапа (Москва, 27. - 28. јул 2019.).

Први пут сам видео рекламу за „Дигитални продор“ негде у марту-априлу ове године. Наравно, нисам могао да прођем тако велики хакатон и да се региструјем на веб страници. Тамо сам се упознао са условима и програмом такмичења. Испоставило се да је за долазак на хакатон потребно да прођете онлајн тест, који је почео 16. маја. И, можда, згодно бих заборавио на то, пошто нисам добио писмо које ме подсећа на почетак тестирања. И, морам рећи, убудуће су СВА ПИСМА која су ми долазила из ЦПУ-а стално завршавала у фолдеру нежељене поште. Иако сам сваки пут кликнуо на дугме „неприговорно“. Не знам како су успели да постигну такав резултат, није ми ишло са слањем поштом на МаилГун-у. А чини се да момци уопште не знају за постојање услуга као што је иснотспам.цом. Али ми скрећемо пажњу.

На једном од састанака су ме подсетили на почетак тестирања стартап клуб, тамо смо разговарали и о формирању тима. Након што сам отворио листу тестова, прво сам сео на Јавасцрипт тест. Генерално, задаци су били мање-више адекватни (као шта ће бити резултат ако додате 1 + '1' у конзоли). Али из мог искуства, користио бих такве тестове када регрутујем посао или тим са великим резервама. Чињеница је да се у стварном раду програмер ретко сусреће са таквим стварима, са својом способношћу брзог отклањања грешака кода - ово знање ни на који начин није у корелацији, а за такве ствари се можете лако обучити за интервјуе (знам од себе). Генерално, прошао сам тест прилично брзо, у неким случајевима сам се проверио у конзоли. У питхон тесту задаци су били приближно истог типа, тестирао сам се и на конзоли, и изненадио сам се што сам постигао више поена него у ЈС-у, иако никада нисам професионално програмирао у Пајтону. Касније, у разговорима са учесницима, чуо сам приче о томе како су јаки програмери имали слабе резултате на тестовима, како су неки људи добијали писма да нису прошли процес селекције за ЦПУ, а онда су ипак били позвани на то. Јасно је да креатори ових тестова највероватније нису ништа чули теорија испитивања, ни о њиховој поузданости и ваљаности, нити о томе како их тестирати, а идеја са тестовима би била промашај од самог почетка, чак и да нисмо узели у обзир главни циљ хакатона. А главни циљ хаковања, како сам касније сазнао, био је постављање Гинисовог рекорда, а тестови су му били у супротности.

У неком тренутку након што сам прошао тестове, позвали су ме, питали да ли ћу учествовати, разјаснили детаље и рекли ми како да уђем у разговор за одабир тима. Убрзо сам ушао у ћаскање и укратко писао о себи. У ћаскању је било потпуно смеће, чинило се да се организатори рекламирају великом броју насумичних људи који немају никакве везе са ИТ-ом. Бројни менаџери производа „на нивоу Стива Џобса“ (права фраза из пријаве једног учесника) објављивали су приче о себи, а нормални програмери нису били ни видљиви. Али имао сам среће и убрзо сам се придружио тројици искусних ЈС програмера. Упознали смо се већ на хакатону, а онда смо у тим додали девојку за инспирацију и решавање организационих питања. Не сећам се зашто, али узели смо тему „Обука о сајбер безбедности“ и укључили је у нумеру „Наука и образовање 2“. Први пут сам се нашао у тиму од 4 јака програмера и први пут сам осетио колико је лако победити у таквом саставу. Дошли смо неспремни и свађали се до ручка и нисмо могли да одлучимо шта ћемо: мобилну апликацију или веб. У било којој другој ситуацији помислио бих да је то неуспех. Најважније нам је било да схватимо како ћемо бити бољи од конкурената, јер је било доста тимова који су резали тестове, игре сајбер безбедности и слично. Након што смо погледали ово и изгуглали програме и апликације за обуку, одлучили смо да ће наша главна разлика бити ватрогасне вежбе. Одабрали смо низ функција које смо сматрали интересантним за имплементацију (регистрација са верификацијом е-поште и лозинке у хакерским базама података, слање пхисхинг мејлова (у облику писама из познатих банака), обука социјалног инжењеринга у ћаскању). Након што смо одлучили шта радимо и схватили како можемо да се издвојимо, брзо смо написали пуноправну веб апликацију, а ја сам играо необичну улогу бацкенд програмера. Тако смо самоуверено освојили нашу стазу и у саставу још три екипе пласирали се у финале у Казању. Касније, у Казању, сазнао сам да је избор за финале био фикција, упознао сам много познатих лица из тимова који нису прошли селекцију. Чак су нас интервјуисали новинари Првог канала. Међутим, у извештају са њега наша апликација је приказана само 1 секунду.

Дигитални продор - како се то догодило
Завејана екипа, где сам освојио регионалну етапу

Финале (Казањ, 27. – 29. септембар 2019.)

Али онда су почели неуспеси. Сви програмери из Сновед тима су у року од месец дана, један за другим, пријавили да неће моћи да оду у Казањ на финале. И размишљао сам о проналажењу новог тима. Прво сам назвао у општем ћаскању руског Хацк тима, и иако сам тамо добио доста одговора и позива да се придружим тимовима, ниједан од њих није привукао моју пажњу. Било је неуравнотежених тимова, као што су производ, мобилни програмер, фронт-енд, који подсећа на лабуда, рака и штуку из бајке. Било је и тимова који ми технолошки нису одговарали (нпр. развојем мобилне апликације у Флуттеру). Коначно, у ћаскању које сам сматрао ђубретом (исти ВКонтакте где се вршио избор тимова за регионалну фазу), постављен је оглас о потрази за фронтендером за тим, а ја сам писао чисто насумично. Испоставило се да су момци дипломирани студенти Сколтецх-а и одмах су понудили да се упознају и упознају. Свидело ми се; тимови који више воле да се упознају одмах на хакатону обично ме алармирају недостатком мотивације. Упознали смо се у „Раке“ на Пјатничкој. Момци су деловали паметно, мотивисано, уверени у себе иу победу и ја сам ту одлуку донео. Још нисмо знали које ће стазе и задаци бити у финалу, али смо претпоставили да ћемо изабрати нешто у вези са машинским учењем. А мој задатак ће бити да напишем администратора за ову ствар, тако да сам унапред припремио шаблон за ово на основу антд-админ.
Отишао сам у Казањ бесплатно, о трошку организатора. Морам рећи да је у четовима и блоговима већ исказано доста незадовољства око куповине карата и уопште организације финала, нећу све да препричавам.

Када смо стигли на Казан Екпо, регистровали се (имао сам мало проблема да добијем беџ) и доручковали, отишли ​​смо да бирамо стазу. На свечано отварање, где су званичници говорили, отишли ​​смо само 10-ак минута.У ствари, већ смо имали своје омиљене нумере, али су нас занимали детаљи. У стази број 18 (Ростелеком), на пример, показало се да је потребно развити мобилну апликацију, иако то није било у кратком опису. Направили смо главни избор између колосека бр. 8 Дефектоскопија цевовода, Газпром њефт ПЈСЦ и колосека бр. 13 Перинатални центри, Рачунска комора Руске Федерације. У оба случаја је била потребна наука о подацима, ау оба случаја је могао бити додат веб. На стази број 13 зауставила нас је чињеница да је задатак Дата Сциенце тамо био прилично слаб, било је потребно рашчланити Росстат и није било јасно да ли је потребан админ панел. И сама вредност задатка је била под сумњом. На крају смо одлучили да нам као тим више одговара стаза 8, поготово што су момци већ имали искуства у решавању сличних проблема. Почели смо тако што смо размишљали о сценарију у којем би нашу апликацију користио крајњи корисник. Испоставило се да ћемо имати две врсте корисника: техничаре који су заинтересовани за техничке информације и менаџере којима су потребни финансијски показатељи. Када се појавила идеја о сценарију, постало је јасно шта да се ради на предњем крају, шта дизајнер треба да нацрта, а које методе су потребне на задњем крају, постало је могуће дистрибуирати задатке. Одговорности у тиму су биле распоређене на следећи начин: две особе су решавале МЛ са подацима добијеним од техничких стручњака, једна особа је написала бацкенд у Питхон-у, ја сам написао фронт енд у Реацт-у и Антд-у, дизајнер је нацртао интерфејсе. Чак смо и сели како би нам било згодније да комуницирамо док решавамо проблеме.

Први дан је пролетео готово неприметно. У комуникацији са техничким стручњацима испоставило се да су они (Гаспром њефт) већ решили овај проблем, само су се питали да ли може боље. Нећу рећи да је то умањило моју мотивацију, али је оставило траг. Изненадило ме је што су модератори секција ноћу бележили радне тимове (како су рекли за статистику), то се обично не практикује на хакатонима. До јутра смо имали спреман прототип предње стране, неке рудименте задње стране и прво МЛ решење. Генерално, већ је било шта да се покаже стручњацима. У суботу поподне, дизајнер је очигледно нацртао више интерфејса него што бих ја имао времена да кодирам и прешао на креирање презентације. Субота је била издвојена за упис рекорда, а ујутру су сви који су радили у сали избачени у ходник, затим је улазак и излазак из сале вршен помоћу беџева, а излазак се могао више не од сат времена дневно. Нећу рећи да нам је то изазвало значајне непријатности; већи део дана смо и даље седели и радили. Храна је, заиста, била врло оскудна, за ручак смо добили чашу чорбе, питу и јабуку, али то нас опет није много узнемирило, већ смо се фокусирали на нешто друго.

Периодично су давали ред бул, две конзерве по руци, што је било од велике помоћи. Рецепт за енергетски напитак + кафа, који је одавно тестиран на хакатонима, омогућио ми је да кодирам целу ноћ и сутрадан, весео као чаша. Другог дана смо, заправо, једноставно додали нове функције у апликацију, израчунали финансијске показатеље и почели да приказујемо графиконе статистике кварова на аутопутевима. У нашој стази није било прегледа кода као таквог, стручњаци су процењивали решење проблема у стилу каггле.цом, на основу тачности прогнозе, а фронт енд је процењен визуелно. Наше МЛ решење се показало најтачнијим, можда је то оно што нам је омогућило да постанемо лидери. У ноћи са суботе на недељу радили смо до 2 сата после поноћи, а затим отишли ​​на спавање у стан који смо користили као базу. Спавали смо око 5 сати, у недељу у 9 ујутру смо већ били на Казан Екпо. На брзину сам нешто спремао, али највише времена сам провео у припремама за предодбрану. Предодбране су се одвијале у 2 тока, пред два експертска тима, од нас је затражено да говоримо последњи, пошто су оба тима стручњака хтела да нас саслушају. Ово смо схватили као добар знак. Апликација је приказана са мог лаптопа, са покренутог дев сервера; нисмо имали времена да правилно применимо апликацију, међутим, сви су урадили исто.

Генерално, све је прошло добро, указиване су нам тачке у којима можемо да унапредимо нашу апликацију, а у време пре одбране смо чак покушали да спроведемо неке од ових коментара. Одбрана је такође прошла изненађујуће глатко. На основу резултата предодбране, знали смо да смо испред по бодовима, били смо у предности по прецизности решења, имали смо добар фронт-енд, добар дизајн и, генерално, имали смо добар осећања. Још један повољан знак је био да је девојка модераторка из наше рубрике направила селфи са нама пре уласка у концертну дворану, а онда сам посумњао да можда нешто зна))). Али нисмо знали своје резултате после одбране, тако да је време до проглашења нашег тима са сцене прошло мало напето. На бини су уручили картон са натписом 500000 рубаља, а свака особа је добила торбу са шољом и батерију за мобилни телефон. Нисмо успели да уживамо у победи и да је прославимо како треба, брзо смо вечерали и таксијем отишли ​​до воза.

Дигитални продор - како се то догодило
Тим ВАИЦО побеђује у финалу

По повратку у Москву, новинари НТВ-а су нас интервјуисали. Снимали смо цео сат на другом спрату кафића Квартал 44 на Пољанки, али су вести приказивале само 10-ак секунди.На крају крајева, снажан напредак у односу на регионалну позорницу.

Ако сумирамо опште утиске о Дигиталном продору, они су следећи. Много новца је потрошено на догађај, никада раније нисам видео хакатоне таквог обима. Али не могу да кажем да је то оправдано и да ће се заиста исплатити. Значајан део учесника који су дошли у Казањ били су једноставно журке који нису умели ништа да ураде својим рукама и који су били приморани да поставе рекорд. Не могу да кажем да је конкуренција у финалу била већа него на регионалној. Такође, упитна је вредност и корисност задатака неких стаза. Неки проблеми су одавно решени на индустријском нивоу. Како се касније испоставило, неке организације које су водиле трагове нису биле заинтересоване за њихово решавање. И ова прича још није завршена, за предакцелератор су изабрани водећи тимови са сваке стазе, а претпоставља се да ће се испоставити да ће то бити ПРОБОРНИ стартапи. Али још нисам спреман да пишем о овоме, видећемо шта ће из тога бити.

Извор: ввв.хабр.цом

Додај коментар