QA: Хакатоны

QA: Хакатоны

Заключная частка трылогіі аб хакатонах. У першай частцы я расказаў пра матывацыю да ўдзелу ў такіх мерапрыемствах. другая частка была прысвечана памылкам арганізатараў і іх вынікам. Заключная частка адкажа на пытанні, якія не змясціліся ў першыя дзве часткі.

Раскажы, як ты пачаў удзельнічаць у хакатонах.
Я вучыўся ў магістратуры Лапеенранцкага ўніверсітэта адначасова вырашаючы спаборніцтвы па аналізе дадзеных. Мой тыповы дзень выглядаў наступным чынам: пад'ём у 8, некалькі пар ва ўніверсітэце, затым спаборніцтвы і курсёра да паўночы (пакуль лічыцца саміт я гляджу лекцыі або чытаю артыкулы). Такі жорсткі графік прынёс свой плён, і я выйграў спаборніцтва па аналізе дадзеных MERC-2017 (пра што нават быў пост на хабры). Перамога накінула ўпэўненасці ў сабе, і калі я выпадкова натыкнуўся на інфармацыю аб хакатоне SkinHack 2 у Маскве, я вырашыў адведаць бацькоў і заадно даведацца што гэта такое - хакатон.

Сам хакатон атрымаўся даволі забаўным. Было два трэкі па аналізе дадзеных з выразнай метрыкай і датасетам з прызавымі па 100к рублёў. Трэці трэк быў па распрацоўцы дадаткаў з прызавым 50к, і ў ім не было ўдзельнікаў. У адзін момант арганізатар сказаў, што акенца з кнопкай без функцыяналу можа выйграць 50к, бо прыз не можа быць не выплачаны. Я не стаў вучыцца праграмаваць прыкладанні (я не спаборнічаю тамака, дзе мяне могуць з лёгкасцю "перавярнуць"), але для мяне гэта быў выразны мэсыдж што палі ў хакатонах не забітыя.

Тады я вырашаў абодва трэка па аналізе дадзеных адзін. Я знайшоў аблічча ў дадзеных, які дазваляў выбіць ідэальны хуткі, але слупка з абліччам не было ў тэставых дадзеных, якія я атрымаў за дзве гадзіны да канца мерапрыемства (дарэчы, тады я разумеў што наяўнасць калонкі “target” у трэйне не лічыцца за аблічча ). У той жа час адкрыўся лідэрборд, мой шабміт без аблічча займаў трэцяе месца з пяці, да першага быў вялікі адрыў і я вырашыў не марнаваць час і з'ехаў.

Пасля таго як я прааналізаваў на свежую галаву што адбылося я знайшоў кучу памылак (адна з маіх звычак - разумова пракручваць што адбылося з нататнікам і аналізаваць памылкі, іх чыннік, і што можна было памяняць - такая прыемная спадчына паў-прафесійнай гульні ў покер). Але адно было зразумела дакладна - у хакатонах ёсць шмат value, і я проста абавязаны яго рэалізаваць. Пасля гэтай падзеі я пачаў маніторыць мерапрыемствы і гурты, і наступны хакатон не прымусіў сябе доўга чакаць. Пасля яшчэ адзін, і яшчэ...

Чаму ты займаешся хакатонамі, а не каглом?
У дадзены момант мне не падабаецца кагл. З вызначанага ўзроўня скіла, без спецыфічных чыннікаў удзелу, кагл становіцца меней карысным за іншыя актыўнасці. Я шмат удзельнічаў раней, відаць, мне ўдалося неяк “злезці”.

Чаму хакатоны, а не праца над сваім праектам?
Мне імпануе ідэя зрабіць нешта крутое сваімі рукамі ў няхуткім тэмпе. Рабяты з ODS арганізавалі ODS pet projects для ўсіх, хто хоча на выходных заняцца сваім праектам сярод аднадумцаў. Думаю, што ў хуткім часе я да іх далучуся.

Як ты знаходзіш мерапрыемствы?
Асноўная крыніца - hackathon.com (свет) і чат у тэлеграме Расейскія хакеры (Расія). Плюс навіны мерапрыемстваў праскокваюць у рэкламе ў сацыяльных сетках і ў linkedin. Калі нічога не знайшлі, то можна паглядзець тут: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Рыхтуеш план рашэння да ўдзелу ці ўсё вырашаецца на хаду? Напрыклад, за тыдзень да хакатона прыкідваеш: «Тут патрэбен будзе такі і такі адмысловец, трэба будзе пашукаць»?
Калі хакатон прадуктовы - так, рыхтуюся. За некалькі тыдняў да я прыдумляю што буду рабіць, мяркую, хто можа спатрэбіцца, збіраю каманду з сяброў або ўдзельнікаў мінулых хакатонаў.

Ці рэальна хакнуць хакатон у адзіночку? Што рабіць, калі няма каманды?
Датасаенс хакатоны - рэальна (я - жывы таму прыклад), прадуктовыя - не бачыў, хоць таксама думаю, што так. Нажаль, часам арганізатары накладваюць абмежаванне на мінімальную колькасць удзельнікаў у камандзе. Я думаю гэта выклікана тым, што не ўсе "адзіночкі" даходзяць да фіналу (г.зн. проста сыходзяць з першымі цяжкасцямі), удзел у камандзе ўсё ж стрымлівае. Яшчэ пасля мерапрыемства мяркуецца, што вы працягнеце працу над праектам. З камандай давесці праект да розуму будзе лягчэй.

У цэлым, я раю заўсёды ўдзельнічаць з камандай. Калі ў вас няма сваёй каманды, то арганізатары заўсёды дапамогуць, каб яе знайсці ці стварыць.

Як удаецца спраўляцца са стомленасцю падчас хакатона?
На хакатоне даецца 2 дні на працу, гэта 48 гадзін (30-48 гадзін, возьмем 48 для прастаты рахунку). Прыбіраем час на сон (16-20 гадзін), застаецца не больш за 30. З іх рэальна на прадуктыўную працу пойдзе гадзін 8 (у сярэднім). Калі правільна арганізаваць працу (сон, харчаванне, выхад на свежае паветра, зарадкі, хвіліны ўсвядомленасці, правільныя зносіны з камандай і пераключэнне актыўнасці), то deep work гадзіны можна дабіць да 12-14. Пасля такой працы будзеш адчуваць сябе знясіленым, але гэта будзе прыемная стомленасць. Кадзіць без сну і перапынкаў перабіваючыся энергетыкамі - шлях да правалу.

У цябе ёсць свае гатовыя пайплайны для хакатонаў? Як яны ў цябе з'яўляліся, як яны ў цябе ўладкованыя (ляжаць па татачках .py файлы, кожны для сваёй задачы і інш.) і як пачаць ствараць самому такія?
Я не выкарыстоўваю цалкам гатовыя рашэнні мінулых хакатонаў у новых, але ў мяне ёсць свой заапарк мадэляў і пайплайнаў з мінулых спаборніцтваў. Мне не даводзіцца перапісваць стандартныя кавалкі з нуля (напрыклад, правільны target encoding ці простую сетачку для вылучэння інтэнту з тэксту), што эканоміць мне шмат часу.

У бягучы момант гэта выглядае вось так: для кожнага спаборніцтва або хакатона ёсць сваё РЭПО на гітхабе, у ім захоўваюцца наўтбукі, скрыпты і невялікая дакументацыя аб тым што адбываецца. Плюс ёсць асобнае РЭПО для ўсякіх скрыначных "фішачак" (накшталт правільнага target encoding з крос-валідацыяй). Я не думаю што гэта самае элегантнае рашэнне, але пакуль што мяне задавальняе.

Я б пачаў з захавання ўсяго свайго кода па тэчках і напісанні кароткай дакументацыі (навошта, што, як рабіў і вынік).

Ці рэальна за такі кароткі тэрмін падрыхтаваць MVP з нуля ці ўсе ўдзельнікі ідуць з гатовымі рашэннямі?
Магу сказаць толькі пра праекты звязаныя з датасаенс - так, магчыма. MVP для мяне гэта сукупнасць двух фактараў:

  • Жыццяздольная ідэя прадстаўленая як прадукт (г.зн. распісаны business canvas). Заўсёды павінна быць дакладнае разуменне чаму і для каго мы робім прадукт. Часам праекты з добра-абгрунтаваным праектам, але без прататыпа выйграюць прызавыя месцы, і ў гэтым няма нічога дзіўнага. Нажаль, шматлікія ўдзельнікі не могуць абстрагавацца ад гаркаты паразы і спісваюць свае няўдачы на ​​недальнабачнасць арганізатараў, працягваючы пілаваць мадэлькі незразумела для каго на наступных хакатонах.
  • Нейкі паказчык што вы гэты прадукт можаце зрабіць (дадатак, код, апісанне пайплайнаў).

Бывае, што на хакатон прыходзіць каманда з гатовым рашэннем і спрабуе яго "падагнаць" пад заданне арганізатараў. Такія каманды адсякаюцца на тэхнічным скрынінгу або "лічыцца" толькі тая частка, якую яны зрабілі на пляцоўцы. Я не бачыў такія каманды ў пераможцах, але я думаю ім усё роўна выгадна хадзіць з-за future value (кантакты, датасеты і іншае).

Ці ёсць прыклады давядзенне вырабаў рэалізаваных на хакатонах да прадакшэна/стартапа?
Так. У мяне было тры выпадкі калі даводзілі да прадакшэна. Адзін раз сам, два разы - чужымі рукамі зыходзячы з маіх ідэй і кода, які я напісаў на хакатоне. Яшчэ ведаю пару каманд, якая працягвала супрацоўніцтва з кампаніяй у якасці кансультантаў. Фінальных вынікаў не ведаю, але хутчэй за ўсё нешта было зроблена да канца. Сам стартапы не арганізоўваў і не ведаю, каб нехта рабіў, хаця прыклады, я ўпэўнены, ёсць.

Пасля ўдзелу ў шматлікіх хакатонах, якія парады б ты даў сабе, калі б мог вярнуцца ў мінулае?

  1. Тактыка важнейшая за манеўры. Уяўляй кожнае рашэнне як гатовы прадукт. Ідэя, юпітар наўтбук, алгарытм нічога не каштуюць, калі не зразумела хто будзе за гэта плаціць.
  2. Перш чым праектаваць штосьці, адкажы на пытанне не "што?", а "навошта?" і як?". Прыклад: праектуючы які-небудзь ML рашэнне, у пачатку падумай аб ідэальным алгарытме: што ён атрымлівае на ўваход, як яго прадказанні выкарыстоўваюцца ў далейшым?
  3. Удзельнічай у камандзе.

Чым звычайна кормяць на хакатонах?
Звычайна на хакатонах кормяць дрэнна: піцы, энергетыкі, газіроўка. Амаль заўсёды ежа арганізавана ў форме шведскага стала (ці раздатачнага стала) да якога выбудоўваецца вялізная чарга. Уначы звычайна не кормяць, хаця быў выпадак на адным спаборніцтве ў Парыжы на ноч пакінулі паесці — чыпсы, пончыкі і колу. Я прадстаўлю ўяўны працэс арганізатараў: “Дык, што там ядуць праграмісты? А, сапраўды! Чыпсы, пончыкі - вось гэтым усё. Пакладзем ім гэтую дрэнь.” На наступны дзень я спытаў арганізатараў: “Хлопцаў, а ці нельга зрабіць на ноч нешта іншае? Ну там, кашу напрыклад?” Пасля гэтага на мяне паглядзелі як на ідыёта. Знакамітая французская гасціннасць.

На добрых хакатонах ежу заказваюць у боксах, ёсць падзел на звычайнае, вегетарыянскае і кошерное харчаванне. Плюс ставяць халадзільнік з ёгуртамі, мюслі - для тых хто хоча перакусіць. Чай, кава, вада - стандарт. Запомніўся хакатон Hack Moscow 2 - тамака душэўна накармілі бацвіннем і катлетамі з пюрешкой у сталовай офіса 1С.

Разумнасць хакатонаў залежыць, так бы мовіць, ад прафесійнай сферы арганізатараў (напрыклад, лепшыя хакатоны праводзяць кансалтары)?
Найлепшыя хакатоны былі ад арганізатараў, якія альбо да гэтага арганізоўвалі хакатоны, альбо раней удзельнічалі. Мабыць, гэта адзіны фактар, ад якога залежыць якасць імпрэзы.

Як зразумець, што ты не нуб і сітавіна на хакатон?
Самы лепшы час каб пайсці на хакатон - год таму. Другі лепшы час - зараз. Так што мацуйся, памыляйся, вучыся - гэта нармальна. Нават нейронавая сетка - найвялікшае вынаходства чалавека пасля кола і градыентнага бустынгу над дрэвамі - не можа адрозніць котку ад сабакі на першай эпосе навучання.

Якія "чырвоныя сцягі" адразу кажуць аб тым, што мерапрыемства будзе не вельмі і не трэба марнаваць час?

  • Дакладнае апісанне што трэба зрабіць (актуальна для прадуктовых хакактонаў). Калі пры рэгістрацыі вам дакладна будзе пастаўлена задача, то лепш застацца дома. На маёй памяці не было ніводнага добрага хакатона з ТЗ. Для параўнання: Добра - зрабіце нам што-небудзь звязанае з аналізам аўдыё размоваў. Дрэнна - зрабіце нам дадатак, якое было б здольна падзяляць размову на дзве асобныя гукавыя дарожкі для кожнага чалавека.
  • Маленькі прызавы фонд. Калі вас просяць зрабіць "тындэр для онлайн крамы з AI" і прыз за першае месца 500 еўра і мінімальным памерам каманды ў 5 чалавек - мабыць не варта марнаваць час (так, гэта рэальны хакатон, якія праводзіўся ў Мюнхене).
  • Адсутнасць дадзеных (актуальна для датасаенс хакатонаў). Арганізатары звычайна даюць асноўную інфармацыю аб мерапрыемстве і часам сэмпл датасета. Калі не падалі - спытаеце, з вас не зменшае. Калі за 2-3 незразумела якія дадзеныя будуць прадастаўлены і ці будуць яны ўвогуле - гэта чырвоны сцяг.
  • Новыя арганізатары. Не залянуйцеся і трошкі інфармацыю аб арганізатарах хакатона. Калі яны праводзяць мерапрыемства такога роду ў першы раз - вялікая верагоднасць таго, што нешта пойдзе не так. З іншага боку, калі арганізатар і члены журы ўжо праводзілі хакатоны або ў мінулым актыўна ўдзельнічалі - гэта зялёны сцяг.

На адным хакатоне мне сказалі: «У цябе было лепшае рашэнне па хуткім часе, але прабач, у нас ацэньваецца праца ў камандзе, а ты працаваў у адзіночку. Вось калі б ты ўзяў у каманду студэнта ці дзяўчынку…”? Ці сустракаў ты такую ​​несправядлівасць? Як спраўляўся?
Так, сустракаў і не раз. Я стаістычна стаўлюся да ўсяго таго, што адбываецца: я зрабіў усё што ў маіх сілах, калі не атрымалася - так таму і быць.

Нашто ты ўсім гэтым займаешся?
Усё гэта проста ад нуды.

Крыніца: habr.com

Дадаць каментар