Хакатоны становятся всё более популярными, они предоставляют уникальный опыт для развития навыков, создания инновационных решений и поиска новых контактов. В этой статье я поделюсь опытом участия в хакатонах и стратегиями, которые обеспечивают победу.
Что же это такое?
Хакатоны представляют собой соревнования, где требуется придумать и разработать какое-либо решение за короткий срок (обычно 2 суток). Они состоят из нескольких этапов: объявление задачи, работа над решением, которая включает в себя чекпоинты, где нужно организаторы дают фидбек по проделанной работе для корректировки курса если необходимо, питч и выдача приза победителям.
Но зачастую многие команды сталкиваются с различными трудностями из-за ограниченного количества времени. Давайте разберемся на конкретном примере.
Знакомьтесь: команда Inn.Team из Университета Иннополис, мы выиграли в хакатоне “TenderHack”, проходившем в Казани с 20 по 22 октября 2023. Но сначала немного предыстории.
А нужно ли тратить время?
Все началось с участия в хакатоне "TenderHack" в сентябре 2021 года, где предстояло разработать рекомендательную систему. Для большинства из нас это был первый опыт участия в подобных соревнованиях. Однако, он оказался полным провалом. Ночи без сна, низкая точность рекомендаций, фронтенд написанный бэкенд-разработчиком всего за час до презентации, и заболевание одного из членов команды - все это сделало первый хакатон настоящим испытанием.
Несмотря на это мы продолжили участвовать в различных хакатонах и активно развиваться. За два года мы успели поучаствовать в нескольких соревнованиях и значительно усовершенствовать наш уровень профессиональных навыков. А в предшествующем хакатоне попали в число фаворитов и были в шаге от призового места.
Мы не жалеем об участии ни в одном из хакатонов, все они позволили нам попробовать себя в разных областях, определить свои сильные и слабые места и повысить компетенции.
Теперь вернемся в настоящее и рассмотрим хакатон, где нам удалось одержать победу.
Как все проходило?
Первый день: подготовка и определение задачи
![Получение приветственных наборов Получение приветственных наборов](https://habrastorage.org/getpro/habr/upload_files/9d7/9ed/985/9d79ed9853599737523d0ed7edde1d05.jpg)
Мы собрались на месте проведения, и нам представили задачу, которую предстояло решить в рамках соревнования. Она делилась на 3 подзадачи, где необходимо реализовать:
Алгоритм сегментации ошибок по необработанным логам любого формата.
Кликабельный интерфейс с возможностью воспроизведения ошибок пользователя (на основе предоставленных скриншотов и видеозаписей).
Систему администрирования и аналитики ошибок для оператора с возможностью оповещения пользователей об исправлении ошибки.
Как оказалось, стек команды идеально вписался в задачу. Мы сразу обсудили нашу дальнейшую стратегию и отправились домой высыпаться перед продуктивным днем. Опыт показывает, что рациональнее оставаться на вторую ночь, когда имеется лучшее представление о самой задаче и способах ее решения.
Второй день: решение задачи
![Нам предоставили бесплатное трехразовое питание в ресторане и кофебрейки, проголодаться было невозможно Нам предоставили бесплатное трехразовое питание в ресторане и кофебрейки, проголодаться было невозможно](https://habrastorage.org/getpro/habr/upload_files/373/64e/96a/37364e96addbe0ae6fd7763afdea5694.jpg)
Мы решили распараллелить задачи следующим образом: UX/UI дизайнер разрабатывает кликабельный интерфейс (вторая подзадача), в то же время Data-Scientist реализует алгоритм для обработки логов (первая подзадача), а бэкенд и фронтенд разработчики готовят REST API и начальную версию портала (третья подзадача).
К чекпоинту вечером уже были почти готовы прототипы интерфейса и алгоритм сегментации. Мы продемонстрировали организаторам наше решение, получили фидбек и поняли, что движемся в правильном направлении.
Также для разгрузки решили сделать перерыв на прогулку, что позволило быть более продуктивными ближайшее время.
Ночью мы выделили около 4 часов на сон. Жилье не предоставлялось, поэтому спать пришлось в комнате отдыха на пуфиках, зато мы не потратили много времени на дорогу, что оказалось решающим фактором для сдачи в срок.
Третий день: финальные аккорды и триумф
Дело оставалось за малым: доработать фронтенд совместно с дизайнером, внести небольшие изменения в бэкенд и совместить все части приложения, чтобы получился готовый продукт. Днем нас ждала предзащита.
![Предзащита Предзащита](https://habrastorage.org/getpro/habr/upload_files/9e2/96c/883/9e296c883ccef9e28bda3bc9ecc5746a.jpg)
Прямо перед дедлайном мы закончили доработку решения (даже пропустили обед) и начали подготавливаться к защите, но нас сразу же вызвали, пришлось импровизировать.
По результатам предзащиты были выбраны 5 команд, которые должны презентовать свое решение перед жюри. Мы оказались в числе этих команд.
Выступление включало в себя презентацию, детальное описание решения и демонстрацию рабочего функционала.
![Публичная защита перед жюри Публичная защита перед жюри](https://habrastorage.org/getpro/habr/upload_files/630/b56/e1a/630b56e1a29b80198944b1da3b9f3362.jpg)
Вскоре нас объявили победителями, эмоции были на пределе, мы едва верили в происходящее. Это было огромным достижением для нашей команды.
Рецепт победы
![Мы на награждении Мы на награждении](https://habrastorage.org/getpro/habr/upload_files/133/0e7/f92/1330e7f92831c446c2b221f0777a02f5.jpg)
Победа на хакатоне - это результат не только технических навыков, но и правильно выстроенной командной работы.
Понимание задачи
Каждый член команды должен полностью понимать задачу, активно участвовать в дискуссиях и предлагать свои идеи, вместо того чтобы просто следовать указаниям.
Тайм-менеджмент
Оптимальное управление временем и ресурсами является ключом к достижению лучших результатов. Важно разработать план выполнения задачи, включая в него время отдыха, поскольку он также играет важную роль в достижении успеха.
Четко распределенные роли
Эффективное использование специализированных навыков каждого члена команды критично для достижения быстрого прогресса.
Коммуникация
Открытость и постоянный обмен информацией позволяют команде оставаться на одной волне. Это помогает быстро выявлять проблемы и направлять усилия в нужное русло, ведь каждая минута на счету.
![Егор Кузяков (backend разработчик), Игорь Абрамов (data scientist), Егор Блинов (frontend разработчик, лидер команды), Дмитрий Греблюк (frontend разработчик), Александра Чупкова (UX/UI дизайнер) Егор Кузяков (backend разработчик), Игорь Абрамов (data scientist), Егор Блинов (frontend разработчик, лидер команды), Дмитрий Греблюк (frontend разработчик), Александра Чупкова (UX/UI дизайнер)](https://habrastorage.org/getpro/habr/upload_files/1a6/588/d5a/1a6588d5ac829ef4840113dbca098101.jpg)
Игорь Абрамов (data scientist),
Егор Блинов (frontend разработчик, лидер команды),
Дмитрий Греблюк (frontend разработчик),
Александра Чупкова (UX/UI дизайнер)
Участие в хакатонах - это ценный опыт, который делает вас сильнее вне зависимости от того, какое место вы заняли.
Цель статьи - показать что такое хакатоны и как они проходят, а участвовать в них или нет - выбор за вами. Здесь можно узнать о предстоящих хакатонах:
Не бойтесь принимать вызовы и развиваться. Удачи!