Хакатоны становятся всё более популярными, они предоставляют уникальный опыт для развития навыков, создания инновационных решений и поиска новых контактов. В этой статье я поделюсь опытом участия в хакатонах и стратегиями, которые обеспечивают победу.

Что же это такое?

Хакатоны представляют собой соревнования, где требуется придумать и разработать какое-либо решение за короткий срок (обычно 2 суток). Они состоят из нескольких этапов: объявление задачи, работа над решением, которая включает в себя чекпоинты, где нужно организаторы дают фидбек по проделанной работе для корректировки курса если необходимо, питч и выдача приза победителям.

Но зачастую многие команды сталкиваются с различными трудностями из-за ограниченного количества времени. Давайте разберемся на конкретном примере.

Знакомьтесь: команда Inn.Team из Университета Иннополис, мы выиграли в хакатоне “TenderHack”, проходившем в Казани с 20 по 22 октября 2023. Но сначала немного предыстории.

А нужно ли тратить время?

Все началось с участия в хакатоне "TenderHack" в сентябре 2021 года, где предстояло разработать рекомендательную систему. Для большинства из нас это был первый опыт участия в подобных соревнованиях. Однако, он оказался полным провалом. Ночи без сна, низкая точность рекомендаций, фронтенд написанный бэкенд-разработчиком всего за час до презентации, и заболевание одного из членов команды - все это сделало первый хакатон настоящим испытанием.

Несмотря на это мы продолжили участвовать в различных хакатонах и активно развиваться. За два года мы успели поучаствовать в нескольких соревнованиях и значительно усовершенствовать наш уровень профессиональных навыков. А в предшествующем хакатоне попали в число фаворитов и были в шаге от призового места.

Мы не жалеем об участии ни в одном из хакатонов, все они позволили нам попробовать себя в разных областях, определить свои сильные и слабые места и повысить компетенции.

Теперь вернемся в настоящее и рассмотрим хакатон, где нам удалось одержать победу.

Как все проходило?

Первый день: подготовка и определение задачи

Получение приветственных наборов
Получение приветственных наборов

Мы собрались на месте проведения, и нам представили задачу, которую предстояло решить в рамках соревнования. Она делилась на 3 подзадачи, где необходимо реализовать:

  1. Алгоритм сегментации ошибок по необработанным логам любого формата.

  2. Кликабельный интерфейс с возможностью воспроизведения ошибок пользователя (на основе предоставленных скриншотов и видеозаписей).

  3. Систему администрирования и аналитики ошибок для оператора с возможностью оповещения пользователей об исправлении ошибки.

Как оказалось, стек команды идеально вписался в задачу. Мы сразу обсудили нашу дальнейшую стратегию и отправились домой высыпаться перед продуктивным днем. Опыт показывает, что рациональнее оставаться на вторую ночь, когда имеется лучшее представление о самой задаче и способах ее решения.

Второй день: решение задачи

Нам предоставили бесплатное трехразовое питание в ресторане и кофебрейки, проголодаться было невозможно
Нам предоставили бесплатное трехразовое питание в ресторане и кофебрейки, проголодаться было невозможно

Мы решили распараллелить задачи следующим образом: UX/UI дизайнер разрабатывает кликабельный интерфейс (вторая подзадача), в то же время Data-Scientist реализует алгоритм для обработки логов (первая подзадача), а бэкенд и фронтенд разработчики готовят REST API и начальную версию портала (третья подзадача).

К чекпоинту вечером уже были почти готовы прототипы интерфейса и алгоритм сегментации. Мы продемонстрировали организаторам наше решение, получили фидбек и поняли, что движемся в правильном направлении.

Также для разгрузки решили сделать перерыв на прогулку, что позволило быть более продуктивными ближайшее время.

Ночью мы выделили около 4 часов на сон. Жилье не предоставлялось, поэтому спать пришлось в комнате отдыха на пуфиках, зато мы не потратили много времени на дорогу, что оказалось решающим фактором для сдачи в срок.

Третий день: финальные аккорды и триумф

Дело оставалось за малым: доработать фронтенд совместно с дизайнером, внести небольшие изменения в бэкенд и совместить все части приложения, чтобы получился готовый продукт. Днем нас ждала предзащита.

Предзащита
Предзащита

Прямо перед дедлайном мы закончили доработку решения (даже пропустили обед) и начали подготавливаться к защите, но нас сразу же вызвали, пришлось импровизировать.

По результатам предзащиты были выбраны 5 команд, которые должны презентовать свое решение перед жюри. Мы оказались в числе этих команд.

Выступление включало в себя презентацию, детальное описание решения и демонстрацию рабочего функционала.

Публичная защита перед жюри
Публичная защита перед жюри

Вскоре нас объявили победителями, эмоции были на пределе, мы едва верили в происходящее. Это было огромным достижением для нашей команды.

Рецепт победы

Мы на награждении
Мы на награждении

Победа на хакатоне - это результат не только технических навыков, но и правильно выстроенной командной работы.

Понимание задачи

Каждый член команды должен полностью понимать задачу, активно участвовать в дискуссиях и предлагать свои идеи, вместо того чтобы просто следовать указаниям.

Тайм-менеджмент

Оптимальное управление временем и ресурсами является ключом к достижению лучших результатов. Важно разработать план выполнения задачи, включая в него время отдыха, поскольку он также играет важную роль в достижении успеха.

Четко распределенные роли

Эффективное использование специализированных навыков каждого члена команды критично для достижения быстрого прогресса.

Коммуникация

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

Егор Кузяков (backend разработчик), Игорь Абрамов (data scientist), Егор Блинов (frontend разработчик, лидер команды), Дмитрий Греблюк (frontend разработчик), Александра Чупкова (UX/UI дизайнер)
Егор Кузяков (backend разработчик),
Игорь Абрамов (data scientist),
Егор Блинов (frontend разработчик, лидер команды),
Дмитрий Греблюк (frontend разработчик),
Александра Чупкова (UX/UI дизайнер)

Участие в хакатонах - это ценный опыт, который делает вас сильнее вне зависимости от того, какое место вы заняли.

Цель статьи - показать что такое хакатоны и как они проходят, а участвовать в них или нет - выбор за вами. Здесь можно узнать о предстоящих хакатонах:

Не бойтесь принимать вызовы и развиваться. Удачи!

Комментарии (1)


  1. inetstar
    29.10.2023 09:57
    +3

    "Цель статьи - показать что такое хакатоны и как они проходят" - цель не раскрыта.