Как организовать онлайн хакатон?
Публичный постЯ уже два года провожу конкурсы для продакт-менеджеров, дизайнеров и аналитиков careerfactory.ru.
Фишка нашего формата это отсутствие жюри и p2p оценка работ.
У нас есть хитрый алгоритм, благодаря которому итоговый результат оценки получается очень точным, а побочным эффектом является то, что участникам очень нравится смотреть и оценивать чужие работы.
Через нас прошли тысячи участников и даже есть какая-то известность, но в основном в локальном кружке продактов и дизайнеров. А хочется развиваться дальше.
И я хочу на этой базе провести какой-нибудь веселый хакатон для разработчиков. И подумал, может быть тут уже есть те, кто это делал и может поделиться опытом?
Сейчас мне хочется найти ответы на следующие вопросы:
Как организовать выкладывание и проверку заданий? Проверка будет в p2p формате, при этом важно, чтобы если кто-то выложит зловредный код, то это никому не навредило.
Какие хакатоны вы считаете прикольными и поучаствовали бы в них ради фана? Или просто идеи хакатонов, которых нет, но в которых бы поучаствовали (я понимаю что тут все подгоревшие сеньоры, но все же).
Вообще, буду рад любому личному опыту или полезным советам по этой теме.
Участвовал в нескольких хакатонах на devpost.com и в локальных швейцрских — соло и в составе команд во время локлауна в 2020-2021 годах.
Вот несколько наблюдений, хотя конечно все люди разные и мои наблюдения основаны на общении с коллегами по команде и другими участиниками в дискорде организаторов:
Вкину несколько мыслей, интересная тема!
P2P формат - крутая идея, столкнулся с чем-то подобным при отборе на "Хакатон на Полярном круге", куда мы прошли, но потом так и не доехали из-за ковида. Там формат не очень хорошо работал, потому что оценивали не участники, а человек 5-7 жюри.
Для меня важной частью хакатонов является возможность сделать "демо" решения - натурально потыкать его, как для жюри, так и для других участников, потому что только в рамках презентации раскрыть суть своего решения ну просто невозможно. Ну и понять, что в итоге сделали другие команды тоже.
В рамках ML хакатонов с лидербордами решения часто запускают в автономных докер-контейнерах, чтобы тест сет не утек.
Классно когда организаторы слишком сильно не сужают задачи и оставляют простор для интересных и оригинальных решений, потому что иногда получается так, что решения бывают ну прямо очень похожими.
Я не особо люблю онлайн формат - для меня хакатоны ещё про командное взаимодействие, про общение, посещение и изучение новых мест, это всё в теории обновляет нейронные связи и лечит от этого вашего сеньорского выгорания, а в онлайне многое теряется. Точно поучаствовал бы в чем-то таком - делаем "пионерский" хакатон-лагерь с отрядами и менторами-вожатыми, с изучением какой-нибудь местной идентичности (как Кружок), а оценку решений делаем в P2P формате с местными жителями в роли жюри :)
Я в Wunder Fund делал два раза челленджи по машинке.
Участники обучали модели, которые потом запускались в докере на серваке.
Решения оценивались объективно, в смысле вот код, вот данные, вот такая метрика успеха.
Этот момент мне кажется важным, на мой вкус в задачах для разработчиков и жюри, и p2p — это шляпа, которая ведет к огорчению.
Первый был с приколдесом, нужны было написать агента, который сможет играть в игру с неизвестными правилами.
Мы черный ящик, она пошагово выдавала игроку вектор состояния некоторой среды, в ответ он мог посылать одно из возможных действий и получал за действия награды или штрафы.
Данными были определенным образом измененные биржевые данные, действиями — отправка и снятие ордеров, а счетом в игре — прибыль (ну, kinda).
Было классно, что-то засабмитило что-то около 1500 человек.
Был форум, народ прям обсуждал, расследовал, что за данные, что за действия)
Еще могу посоветовать поглядеть на
https://highload.fun/ — чуваки супер-оптимизируют производительность. Аудитория узкая, но все оч крутые.
https://russianaicup.ru/ — старые AI cups от мейла. Участники пишут проги, которые играют во всякие игры самодельные. Сейчас их куда-то в большую платформу запрятали.
Кагл, конечно
Я думаю, что к хакатону программисты потянутся, если там будет интересная для них задача. По-настоящему интересная, а не в постмодерново-ироничном смысле.
Честно говоря не знаю, какая задача была бы интересной для широкого круга программистов. Вот, например, я занимаюсь рендерингом карт и мне были бы интересны задачи, до которых у меня никогда не дойдут руки в обычном моем рабочем флоу. Например скачать OSM-ных геоданных и нагенерировать процедурной генерацией для них рендер в каком-нибудь Unity, Godot или UE. Но для тех кто не занимается геоинформатикой это будет гораздо труднее, потому как задача имеет четкий домен, куда надо въезжать.
Если брать задачи без домена, то их не так много и по ним уже есть всякие там leetcod'ы и project euler'ы. Возможно стоит посмотреть в какую-то подобную сторону.
Еще один способ организовать интересный хакатон - это дать задачку на интересную программистам технологию/теорию, заведомо бессмысленную и в крайней степени сложную. Чтобы это был вызов интеллектуальным способностям, а не нечто скучно-прагматичное. Правда для этого надо иметь имя и программисты из целевого сообщества должны быть достаточно "игривые". Пример подобного подхода есть у функциональщиков, называется ICFP, вот например отчет как оно проходит https://users.livejournal.com/-adept-/106759.html?ysclid=l6eqrdsdnw892657140
Если речь идет о P2P, то задания я бы выкладывал в виде кода и в виде полученного при помощи этого кода результата - чтобы можно было посмотреть и как написано и что получилось.