Чому вам варто брати участь у хакатонах

Чому вам варто брати участь у хакатонах

Приблизно півтора роки тому я почав брати участь у хакатонах. За цей часовий проміжок я встиг взяти участь у більш ніж 20 заходах різного масштабу та тематик у Москві, Гельсінкі, Берліні, Мюнхені, Амстердамі, Цюріху та Парижі. У всіх заходах займався аналізом даних у тому чи іншому вигляді. Мені подобається приїжджати в нові для себе міста, налагоджувати нові контакти, вигадувати свіжі ідеї, реалізовувати старі задуми за короткий проміжок часу та адреналін під час виступу та оголошення результатів.

Даний пост – перший із трьох постів на тематику хакатонів, у ньому я розповім, що таке хакатони, чому вам варто почати брати участь у хакатонах. Друга посада буде про темну сторону цих заходів — про те, як організатори робили помилки під час проведення, і до чого вони привели. Третій пост буде присвячений відповідям на питання про навколо-хакатонну тематику.

Що таке хакатон?

Хакатон - це захід, що проводиться протягом декількох днів, метою якого є вирішення будь-якої проблеми. Зазвичай, проблем на хакатоні кілька, кожна представлена ​​у вигляді окремого треку. Компанія-спонсор надає опис завдання, метрики успішності (метрики можуть бути суб'єктивними на кшталт “новизна та креативність”, а можуть бути об'єктивними – точність класифікації на відкладеному датасеті) та ресурси для досягнення успіху (API компанії, датасети, “залізо”). Учасники за відведений час мають сформулювати проблему, запропонувати рішення та показати прототип свого продукту. Найкращі рішення отримують призи від компанії та можливість подальшої співпраці.

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

Після оголошення завдань учасники хакатона об'єднуються в команди: кожен "одиначок" отримує мікрофон і говорить про обране завдання, свій досвід, ідею та фахівці якого плану йому потрібні для реалізації. Іноді команда може складатися з однієї людини, яка здатна виконати всю роботу над проектом самостійно на досить високому рівні. Це актуально для хакатонів щодо аналізу даних, але часто заборонено чи небажано для продуктових заходів — організатори націлені на подальше продовження роботи над проектом, але вже в компанії; сформована команда має низку переваг перед учасниками, які побажали створювати продукт поодинці. Оптимальна команда зазвичай складається з 4 осіб і включає: фронтенд, бекенд, дата саєніста і бізнесової людини. До речі, поділ датасаєнс/продуктові хакатони досить просте — якщо є датасет з чіткою метрикою та лідербордом або виграти можна з кодом у jupyter notebook — це датасаєнс хакатон; все інше - де потрібно зробити додаток, сайт або щось залипальне - продуктовий.

Зазвичай старт роботи над проектом починається о 9-й вечора п'ятниці, а дедлайн — 10 ранку неділі. Частину цього часу необхідно відвести на сон (не спати і кодити — це вірний шлях до провалу, я перевіряв), а це означає, що в учасників не так багато часу, щоб зробити щось якісне. Щоб допомогти учасникам, на майданчику присутні представники компанії та ментори.

Робота над проектом починається зі спілкування з представниками компанії, тому що вони краще розуміють специфіку завдання, метрики і швидше за все вони судитимуть ваші роботи наприкінці. Мета цього спілкування - зрозуміти які напрями найбільш актуальні, і на чому варто сфокусувати свою увагу та час.

На одному хакатоні було поставлено завдання регресії на датасеті з табличними даними та картинками та чіткою метрикою – RMSE. Після того як я поспілкувався з датасаентистом компанії, я зрозумів, що їм потрібна не регресія, а класифікація, але просто хтось з менеджменту вирішив, що завдання найкраще вирішувати саме так. А класифікація їм потрібна не для того, щоб отримати приріст грошових метрик, а для того, щоб зрозуміти які параметри найбільш важливі при прийнятті рішення і вже обробляти їх вручну. Тобто початкове завдання (регресія із RMSE) змінюється на класифікацію; Пріоритет оцінки змінюється з отриманої точності до можливості пояснити результат. Це своє чергу відкидає можливість використання стакінгу і black box алгоритмів. Такий діалог заощадив мені багато часу і збільшив мої шанси на перемогу.

Після того як ви зрозуміли, що вам потрібно робити починається безпосередня робота над проектом. Ви повинні встановити чек-поніти – час, до якого необхідно виконати поставлені завдання; водночас непогано продовжувати спілкування з менторами - представниками компанії та технічними фахівцями - це корисно для коригування маршруту вашого проекту. Свіжий погляд на проблему може підказати цікаве рішення.

Так як у хакатонах бере участь велика кількість новачків, з боку організаторів гарним тоном є проведення лекцій та майстер-класів. Зазвичай лекцій три - про те як представити свою ідею у вигляді продукту, лекція на технічну тематику (наприклад про застосування відкритих API в машинному навчанні, щоб вам не довелося писати свій speech2text за два дні, а скористатися готовим), лекція про пітчинг (як представити свій продукт, як правильно махати руками на сцені, щоб слухачам було не нудно). Бувають різні активності, щоб підбадьорити учасників — сесія йоги, настільний футбол та теніс чи гра в консолі.

У ранок неділі вам необхідно надати результати роботи для журі. На хороших хакатонах все починається з технічної експертизи — чи справді те, що ви заявляєте, працює? Мета цієї перевірки — відсіяти команди з красивою презентацією та buzzwords, але без продукту від хлопців, які реально щось зробили. На жаль, технічна експертиза присутня не на всіх хакатонах і трапляються випадки, коли команда з 12 слайдами та майндсетом “… blockchain, quantum computing, а тут АІ доробить…” виграє перше місце. Такі прецеденти не такі часті, але оскільки вони запам'ятовуються найкраще, багато хто думає, що хороша презентація — це 99% перемоги в хакатоні. Презентація, до речі, справді важлива, але її внесок — не більше ніж 30%.

Після виступу учасників журі ухвалює рішення про нагородження переможців. На цьому офіційну частину хакатону завершено.

Мотивація до участі у хакатонах

Досвід

З погляду набутого досвіду, хакатон — це унікальний захід. У природі існує не так багато місць, де можна реалізувати ідею з нічого за 2 дні та отримати моментальний фідбек про свою роботу. Під час хакатона прокачується критичне мислення, вміння роботи в команді, тайм менеджмент, вміння роботи у стресовій ситуації, вміння подавати результати своєї роботи у зрозумілому вигляді, навички презентацій та багато інших. Саме тому хакатони - це відмінне місце для людей з теоретичними знаннями, які бажають набути реального досвіду.

Призи

Зазвичай призовий фонд хакатона становить приблизно 1.5k - 10k євро за перше місце (у Росії - 100-300 тис. рублів). Очікувану вигоду (expected value, EV) від участі можна вважати за нехитрою формулою:

EV = Prize * WinRate + Future_Value - Costs

де Приз — розмір призу (для простоти вважатимемо що приз один);
WinRate — ймовірність перемоги (для команди-початківця це значення буде обмежене зверху 10%, для більш досвідченої — 50% і вище; я зустрічав людей, які з кожного хакатона йшли з призом, але це швидше виняток із правил і на довгій дистанції їх вінрейт буде нижчим. 100%);
Future_Value — величина, яка показує майбутній прибуток від участі в хакатоні: це може бути прибуток від набутого досвіду, налагоджених зв'язків, отриманої інформації та ін. Цю величину практично неможливо визначити точно, але про неї треба пам'ятати;
витрати - Витрати на транспорт, проживання, інше.

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

За своїми розрахунками, можу сказати, що в Росії для середнього датасаєніста рівня джуніор — мідл брати участь у хакатонах можна порівняти з грошовим прибутком від звичайного робочого дня, але є й нюанси (розмір команди, типу хакатона, призового фонду тощо). Загалом хакатони зараз — це не золоте дно, але вони можуть дати приємну надбавку до особистого бюджету.

Наймання в компанію і нетворкінг

Для компанії хакатон - це один із способів найму нових співробітників. Вам буде набагато легше показати, що ви адекватна людина і вмієте працювати на хакатоні, ніж на співбесіді, повертаючи бінарним деревом на дошці (що, до речі, не завжди відповідає тому, що ви робитимете на справжній роботі датасаєніста, але традиції треба шанувати). Така перевірка у “бойових” умовах може замінити тестовий день.

Свою першу роботу отримав завдяки хакатону. На хакатоні я показав, що з даних можна вичавити більше грошей, розповів, як я збираюся це зробити. Я розпочав проект на хакатоні, виграв його, потім продовжив проект уже у компанії-спонсорі. Це був четвертий хакатон у моєму житті.

Можливість отримати унікальну датасет

Це дуже актуальний пункт для дата саєнс хакатонів, важливість якого розуміють не всі. Зазвичай компанії-спонсори надають реальні датасети під час проведення заходу. Ці дані є приватними, вони знаходяться під NDA, що не заважає показати вам proof of concept на реальному датасеті, а не на іграшковому титаніці. Надалі подібні результати сильно допоможуть при працевлаштуванні в цю компанію чи компанію-конкурент або при обґрунтуванні подібних проектів. Погодьтеся, що за інших рівних, мати виконані проекти, які позитивно оцінили краще, ніж не мати вінних. Загалом, подібні реалізовані проекти відіграють схожу роль з медалями та статусами на каглі, але для індустрії їхня цінність більш очевидна.

Поради

Загалом робота на хакатоні — це досить різноплановий досвід і важко сформулювати якийсь перелік правил. Однак тут я хотів би навести перелік спостережень, які можуть допомогти новачкові:

  1. Не бійтеся ходити на хакатони навіть якщо у вас немає досвіду чи команди. Подумайте над тим, чим ви могли б бути корисними. Наприклад, у вас може бути цікава ідея або ви непогано знаєтеся на будь-якій області? Ви можете використовувати ваше domain knowledge при формулюванні проблеми і знайти нетривіальні шляхи вирішення. Чи може бути ви найкраще вмієте гуглити? Ваше вміння дозволить заощадити купу часу, якщо ви зможете знайти готові продажі в гітхабі. Чи ви дуже добре знаєтеся на тюнінгу параметрів lightgbm? У такому разі не ходіть на хакатон, а доведіть це у змаганнях кагла.
  2. Тактика важливіша за маневри. Ваше завдання на хакатоні – вирішення проблеми. Іноді, щоб вирішити проблему, її потрібно виявити. Перевіряйте, що ваша виявлена ​​проблема дійсно актуальна для компанії. Перевіряйте ваше рішення на відповідність проблеми, запитайте про оптимальність вашого рішення. При оцінці вашого рішення насамперед дивитимуться на актуальність проблеми та адекватність запропонованого рішення. Архітектура вашої нейронної мережі або скільки рук-аук ви отримали мало кого цікавить.
  3. Відвідуйте якнайбільше хакатонів, але не соромтеся йти з погано-організованих заходів.
  4. Додайте результати своєї роботи на хакатоні в резюме та не бійтеся писати про нього публічно.

Чому вам варто брати участь у хакатонах
Суть хакатонів. Коротко

Джерело: habr.com

Додати коментар або відгук