Хакатон на 2,5 тысячи человек: опыт команды DataArt

6 декабря
Хакатон на 2,5 тысячи человек: опыт команды DataArt
В конце ноября в Варшаве прошел HackYeah, претендующий на статус крупнейшего в мире хакатона, проходящего в единой локации. Четверо наших коллег, представлявших оба польских центра разработки DataArt, поделились впечатлениями от соревнований.

Александр Замковый, Senior Java Developer, Вроцлав (back-end, data-architecture, design):

«Ехать решили спонтанно — Сережа Голубов увидел рекламу и предложил поучаствовать в хакатоне. Сначала из Вроцлава собирались ехать вчетвером, но один из коллег в итоге не смог присоединиться. На месте к нам троим: ко мне, Сереже и Леше Ераскину, присоединился Тарас Томищ из Люблина. Он и свое задание сделал и нам еще успел помочь! Хакатон удивил масштабом: огромное количество участников, интересный формат — кодинг, зона с менторами, зона для докладов и куча развлекухи. Вечером даже диджей-сет был.

Идеи обсудили за пару дней до поездки. Их было много: и оптимизатор условий погашения кредита, и помощник домашнего повара. Но мы выбрали ту, что не только показалась самой интересной, но и имеет общественное значение — помощник для приема лекарств с функцией анализа совместимости медикаментов и их заменой на более дешевые аналоги. Работали мы на основе открытого классификатора медицинских препаратов и статистики продажи лекарств. Самым сложным оказалось выбрать наиболее важные для продукта фичи — мыслей было много, и успеть хотелось все, но время всегда ограничено.

Теперь на своем опыте могу добавить, что команду имеет смысл собрать заранее, важно уделить внимание общению с менторами и рекламе своего продукта. Техническая часть для победы не так уж важна, главное правильно заявить о себе. Некоторые команды представили прототипы с набором слайдов без какого-либо функционала и попали в финал. У нас же функционал был рабочим, но мы не успели поработать с менторами».

Тарас Томищ, Senior .NET Developer, Люблин (back-end, front-end):

«Все началось с того, что наша PR-менеджер переслала предложение об участии от коллег из Вроцлава. Я скептически прошелся по списку категорий, но в голову спонтанно пришла идея для LOTTO — владельцев лотерей. Я пересказал идею коллегам, они ее одобрили, и я загорелся еще больше. Решил, что буду жалеть, если хотя бы не попытаюсь. Правда, дома меня держал маленький ребенок, т. ч. настоящий хакатон был скорее у моей жены, за что ей, конечно, огромное спасибо.

В Варшаве встретился с ребятами из Вроцлава, идея которых мне тоже понравилась. Очень хотелось побыть частью DataArt-команды, но стек технологий был разный, а мне хотелось еще и покодить. Да и бросать свой план с лотереей было жаль. Поэтому я вместе с коллегами поучаствовал в мозговом штурме, распарсил экселину в реляционную базу (за что меня вписали в состав команды как Data Scientist) и в одиночку пошел заниматься LOTTO.

Организаторы здорово справились, учитывая почти символическую стоимость участия. Порадовали количество спонсоров и объем гонораров (суммарно порядка 100 000 евро).

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

Задание партнера состояло в разработке азартной игры (где все должен решать luck, а не skill), способной учитывать геолокацию. Идея моего проекта состояла в следующем: LOTTO анонсирует розыгрыш на определенное время и задает стартовый капитал. Человек покупает лотерейный билет с телефона. Процент с каждой покупки увеличивает размер выигрыша. Все участники делятся на кластеры в зависимости от реальной геопозиции. Т. е. группа людей, собравшаяся вместе где-то в старом городе Люблина и купившая билеты, будет таким кластером. На момент розыгрыша сервер выбирает какому кластеру присудить денежный приз. Причем чем больше кластер — тем больше вероятность получить приз. Второй фундаментальный принцип — деньги делятся между участниками. Т. е. большая группа людей имеет больший шанс получить хоть что-то, зато одиночка может в итоге получить все! В зависимости от максимального радиуса кластера могут быть варианты: кварталы в городе (150-200 м) или состязание между городами (20-30 км). Также хотелось подбодрить участников и добавить какое-то простенькое задание (крутить барабан, например), выполнив которое кластер может немного увеличить шанс на победу.

Результатом моей работы стал простенький трехстраничный сайт, который только демонстрирует идею — все-таки, над ней я работал один. Думаю, в будущем стоит собрать команду не только из разработчиков, заранее развить идею, подготовить инфраструктуру. А также достойно презентовать проект и больше светить его перед менторами. На этот раз я ушел спать в два часа ночи и остался этим крайне доволен. Главное, что я понял: похоже, выиграть или хотя бы выйти в финал нам вполне по силам!»

Сергей Голубов, Senior Java Developer, Вроцлав (back-end, front-end):

«Возвращаясь из Варшавы на поезде, я обратил внимание на рекламу хакатона. Меня она заинтересовала, так как раньше я ни в чем подобном не участвовал. Предложил коллегам: Александр и Алексей заинтересовались сразу, некоторые коллеги тоже проявляли интерес, но в итоге из Вроцлава мы поехали только втроем. Несколько раз собирались до хакатона для генерации идей, в итоге выбрали самую перспективную. Всю дорогу до Варшавы обговаривали ее, и оказавшись на месте уже знали, что будем делать.

Первые несколько часов посвятили модели данных и макетам интерфейса, последующие 22 — разработке. Я занимался интерфейсом, а ребята дружно разрабатывали бэкенд. Саша параллельно занимался заявкой и презентацией проекта.

Мне понравился драйв и то, что мы справились, выполнив план. Удивило, что можно не спать 25 часов подряд и как быстро пролетели эти сутки. Последние несколько часов, казалось, что мы все успеваем, но времени оставалось все меньше, а задачи, отложенные на потом, оказались вовсе не такими простыми. Также возникли проблемы с развертыванием. В итоге мы все интегрировали за 5 минут до дедлайна и демо видео записали на телефон. К сожалению, оно не лучшим образом показывало наш продукт.

Конечно, лучше собрать команду и проработать идею заранее, при это больше внимание нужно уделить интерфейсу (если приложение будет его иметь). Мы очень осторожно прорабатывали все функции продукта, то есть старались, чтобы они корректно работали. В итоге потратили очень много времени на их реализацию, а длинный список прочих функций, придуманных нами, просто не был представлен в интерфейсе приложения. Поэтому мы с удивлением смотрели, как команды с набором статических страниц проходили в финал. На страницах было обещано очень многое, хотя о по факту не было ничего. Еще в следующий раз я бы старался как можно больше общаться с менторами, кураторами направлений, судьями. У них есть всего пара минут, чтобы оценить твою заявку, и если они не узнали тебя во время хакатона, дополнительного времени ей они скорее всего не уделят».

Алексей Ераскин, Senior Java Developer, Вроцлав (back-end):

«Больше всего мне понравился предпринимательский дух, когда от идеи до реализации рукой подать. При этом постоянно приходится приоритизировать задачи, решать, что делать, а что нет.

Самым сложным мне показалось решиться на участие. Но в будущем я бы поехал уже как часть более подготовленной и полной команды, роли в которой были бы распределены заранее. Думаю, пригодился бы отдельный человек, ответственный за связи с общественностью, менторами и другими командами, и профессионал в JS/UI, который всегда сможет сделать красиво. Сразу стоит знать, куда деплоить проект и, возможно, иметь заготовки.

Но в целом мне и сейчас очень понравилось. Это было круто!»