Защо трябва да участвате в хакатони

Защо трябва да участвате в хакатони

Преди около година и половина започнах да участвам в хакатони. През този период успях да участвам в над 20 събития с различен мащаб и тематика в Москва, Хелзинки, Берлин, Мюнхен, Амстердам, Цюрих и Париж. На всички събития се занимавах с анализ на данни по един или друг начин. Харесва ми да посещавам нови за мен градове, да създавам нови контакти, да измислям свежи идеи, да реализирам стари замисли за кратък период от време и адреналинът по време на презентациите и обявяването на резултатите.

Този пост е първият от три поста на тема хакатони, в който ще разкажа какво са хакатоните и защо трябва да започнете да участвате в тях. Вторият пост ще бъде за тъмната страна на тези събития – как организаторите допуснаха грешки по време на провеждането им и до какво доведе това. Третият пост ще бъде посветен на отговорите на въпроси относно темата около хакатоните.

Какво е хакатон?

Хакатонът е събитие, провеждано в течение на няколко дни, целта на което е решаването на определен проблем. Обикновено проблемите на хакатона са няколко, като всеки от тях е представен в отделен трек. Спонсориращата компания предоставя описание на задачата, метрики за успех (метриките могат да бъдат субективни като „новизна и креативност“, или обективни – точност на класификацията на отложен набор от данни) и ресурси за постигане на успех (API на компанията, набори от данни, „хардвер“). Участниците в отреденото време трябва да формулират проблема, да предложат решение и да покажат прототип на продукта си. Най-добрите решения получават награди от компанията и възможност за по-нататъшно сътрудничество.

Етапи на хакатона

След като бъдат обявени задачите, участниците в хакатона се събират в екипи: всеки „индивидуален участник“ получава микрофон и разказва за избраната задача, опита си, идеите си и какви специалисти са му нужни за реализиране. Понякога екипът може да се състои от един човек, който е способен да извърши цялата работа по проекта самостоятелно на достатъчно високо ниво. Това е особено валидно за хакатони по анализ на данни, но често е забранено или нежелателно за продуктови мероприятия — организаторите предпочитат продължаваща работа по проекта в компания; сформираният екип има редица предимства пред участниците, които искат да създават продукт сами. Оптималният екип обикновено се състои от 4 души и включва: фронтенд разработчик, бекенд разработчик, дата саентист и бизнес специалист. Между другото, разделението между хакатони за данни и продуктови хакатони е доста просто — ако има дата сет с ясна метрика и лидерборд или може да се спечели с код в jupyter notebook — това е хакатон за данни; всичко останало — където е необходимо да се направи приложение, уебсайт или нещо привлекателно — е продуктов.

Обикновено работата по проекта започва в 9 вечерта в петък, а срокът за завършване е 10 сутринта в неделя. Част от това време трябва да се отдели за сън (неспането и кодиране е сигурен път към провал, проверявано е), а това означава, че участниците не разполагат с много време, за да направят нещо качествено. За да помогнат на участниците, на площада присъстват представителите на компанията и менторите.

Работата по проекта започва с комуникация с представителите на компанията, тъй като те най-добре разбират спецификата на задачата, метриките и вероятно те ще оценят вашите работи в края. Целта на тази комуникация е да се разбере кои направления са най-актуални и на какво да се фокусира вниманието и времето.

На един хакатон имаше задача за регресия върху набор от таблични данни и изображения с ясна метрика — RMSE. След като разговарях с дата-съ scientifiques на компанията, осъзнах, че не им трябва регресия, а класификация. Просто някой от мениджмънта реши, че задачата трябва да се решава по този начин. Класфикацията не им е нужна, за да увеличат финансовите метрики, а за да разберат кои параметри са най-важни при вземането на решения и след това да ги обработват ръчно. Тоест, първоначалната задача (регресия с RMSE) се променя на класификация; приоритетът на оценката се променя от получената точност към възможността да се обясни резултатът. Това в своя ред отхвърля възможността за използване на стакинг и алгоритми от типа black box. Този диалог ми спести много време и увеличи шансовете ми за успех.

След като разберете какво трябва да правите, започва прякото работа по проекта. Трябва да установите чек-пойнтове — времето, в което трябва да изпълните поставените задачи; полезно е да продължите комуникацията с менторите — представители на компанията и техническите специалисти — това е полезно за коригиране на маршрута на проекта ви. Свежият поглед върху проблема може да предложи иновативно решение.

Понеже в хакатоните участват много нови участници, от страна на организаторите е добра идея да се проведат лекции и практически занятия. Обикновено има три лекции — как да представите идеята си като продукт, лекция на техническа тема (например за използването на отворени API в машинното обучение, за да не се налага да пишете собствен speech2text за два дни, а да се възползвате от готово решение), лекция за питчинг (как да представите продукта си, как правилно да жестикулирате на сцената, за да не е скучно на слушателите). Има различни активности, за да се раздвижат участниците — йога сесии, маси за футбол и тенис или игрови сесии на конзоли.

В неделя сутрин трябва да предоставите резултатите от работата си на журито. На добрите хакатони всичко започва с техническа експертиза – наистина ли това, което заявявате, работи? Целта на тази проверка е да отсеете екипите с красиви презентации и модни термини, но без продукт, от тези, които наистина са направили нещо. За съжаление, техническата експертиза не присъства на всички хакатони и понякога се случва екип с 12 слайда и манталитет „… блокчейн, квантови компютри, а тук ИИ ще завърши …“ да спечели първото място. Такива прецеденти не са толкова чести, но тъй като се помнят най-добре, много хора смятат, че добрата презентация е 99% от успеха на хакатона. Презентацията, между другото, наистина е важна, но нейният принос не надвишава 30%.

След изявлението на участниците журито взема решение относно награждаването на победителите. С това официалната част на хакатона приключва.

Мотивация за участие в хакатони

Опит

От гледна точка на получен опит, хакатонът е уникално събитие. В природата не съществуват много места, където можете да реализирате идея от нулата за 2 дни и да получите моментална обратна връзка за работата си. По време на хакатона се развиват критично мислене, умение за работа в екип, управление на времето, умение да се работи в стресова ситуация, способност да се представят резултатите от работата ни в разбираем вид, умение за презентации и много други. Затова хакатоните са отлични места за хора с теоретични знания, които желаят да придобият реален опит.

Награди

Обикновено наградният фонд на хакатона е около 1.5k – 10k евро за първо място (в Русия – 100-300 хиляди рубли). Очакваната полза (expected value, EV) от участието може да се изчисли по следната проста формула:

EV = Награда * Вероятност_за_победа + Бъдеща_стойност - Разходи

където Награда – размерът на наградата (за простота ще считаме, че наградата е една);
Вероятност_за_победа – вероятността за победа (за начинаещ екип това значение ще бъде ограничено до 10%, за по-опитен – 50% и нагоре; срещал съм хора, които от всеки хакатон излизаха с награда, но това е по-скоро изключение от правилото и на дълга дистанция тяхната вероятност на победа ще бъде под 100%);
Бъдеща_стойност — величина, показваща бъдеща печалба от участие в хакатон: това може да бъде печалба от придобит опит, установени контакти, получена информация и др. Тази величина практически е невъзможно да се определи точно, но е важно да се има предвид;
Разходи — разходи за транспорт, настаняване и други.

Решението за участие се взема на основата на сравнение между EV на хакатона и EV на активността, която бихте предприели, ако хакатонът не се провеждаше: ако обмисляте да прекарате уикенда на дивана и да си бъркате в носа, вероятно трябва да участвате в хакатона; ако искате да прекарате време с родителите или приятелката си — вземете ги в отбора си за хакатона (шегувам се, решавайте сами), ако искате да фрилансите — сравнете долар на час.

Според моите изчисления, мога да кажа, че в България за среден датасциент на ниво джуниор — мидъл, участието в хакатони е съизмеримо с парична печалба от обикновен работен ден, но има и особености (размер на отбора, тип хакатон, призов фонд и др.). Общо взето, хакатоните в момента не са златна мина, но могат да добавят приятно увеличение към личния бюджет.

Наемане в компания и нетуъркинг

За компанията хакатонът е един от начините за наемане на нови служители. Ще ви бъде много по-лесно да покажете, че сте адекватен човек и можете да работите на хакатон, отколкото на интервю, разказвайки за бинарни дървета на дъската (което, между другото, не винаги отговаря на това, което ще правите на истинската работа като датасциент, но традициите трябва да се спазват). Този вид проверка в 'бойни' условия може да замени тестовия ден.

Първата ми работа я получих благодарение на хакатон. На хакатона показах, че от данните може да се извлече повече печалба, разказах как планирам да го направя. Започнах проект на хакатона, спечелих го, след това продължих проекта вече в спонсориращата компания. Това беше четвъртият хакатон в живота ми.

Възможност да получите уникален датасет

Това е много актуална тема за хакатоните по дата наука, чието значение не всички разбират. Обикновено спонсорите предоставят действителни набори данни по време на събитието. Тези данни са частни и под NDA, но това не пречи да ви покажем proof of concept с реален набор от данни, а не с игрален титаник. По-късно подобни резултати ще бъдат от голяма полза при намиране на работа в тази компания или конкурентна фирма или при оправдаване на подобни проекти. Съгласете се, че при равенство, да имате реализирани проекти, които са получили положителна оценка, е по-добре от това да нямате такива. В общи линии, подобни реализирани проекти играят подобна роля с медали и статуси на Kaggle, но за индустрията тяхната стойност е по-очевидна.

Съвети

В общи линии, работата на хакатон е доста разнообразен опит и е трудно да се формулира някакъв списък с правила. Въпреки това, тук искам да представя списък с наблюдения, които могат да помогнат на начинаещите:

  1. Не се страхувайте да посещавате хакатони, дори ако нямате опит или екип. Помислете как можете да бъдете полезни. Например, имате ли интересна идея или разбирате ли се добре в някоя област? Можете да използвате вашите познания за формулиране на проблема и да намерите нестандартни решения. Или може би сте най-добрият в търсенето в Google? Вашите умения ще спестят много време, ако можете да намерите готови реализации в GitHub. Или сте много добри в настройването на параметри на LightGBM? В такъв случай не идвайте на хакатон, а докажете го в състезания на Kaggle.
  2. Тактиката е по-важна от маневрите. Вашата задача на хакатона е да решите проблем. Понякога, за да решите проблема, трябва да го идентифицирате. Проверявайте дали идентифицираният проблем е действително актуален за компанията. Проверявайте дали вашето решение отговаря на проблема и се запитайте за оптималността на вашето решение. При оценяването на вашето решение, основно ще се гледа на актуалността на проблема и адекватността на предложеното решение. Архитектурата на вашата невронна мрежа или колко ръце в аукцион сте получили не интересуват много хора.
  3. Посещавайте колкото се може повече хакатони, но не се колебайте да напускате лошо организирани събития.
  4. Добавете резултатите от своята работа на хакатоните в резюмето си и не се страхувайте да говорите за тях публично.

Защо трябва да участвате в хакатони
Същността на хакатоните. Накратко

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster