Кто такой Серафим? Или как одновременно проиграть и выиграть Хакатон

Пока ты ищешь себя команду для участия в самом масштабном хакатоне страны и регистрируешься, наши амбассадоры подготовили для тебя полезные лайфхаки, которые позволят не наделать типичных ошибок “новичков” и получить абсолютный максимум от участия! Сегодня мы расскажем о команде PrimeCare.



Я узнал про конкурс совершенно случайно на мероприятии Google Developers Group, куда меня пригласили. Про хакатоны я что-то читал в публикациях на Хабре, но никогда не принимал участия, собственно, у нас в окрестностях такие мероприятия и не проводились.


А тут хакатон в моем регионе, да еще и с крутым названием! И, вспомнив свое детское увлечение киберпанком и добрые сказки про хакеров (где молодая Анджелина Джоли, вирусы без “короны” переворачивают танкеры и продвинутые сильно user friendly IDE), я приступил к регистрации.



TILDA – я тебя узнал… (может сильно пригодиться anyway anytime #lifehack)
Кадр из фильма — Пароль Рыба-Меч


#lifehack: Нет — самообману, тут нужен какой-нибудь тренинг на тему «Эмоциональный интеллект»


Сразу начались трудности — 50 тестов по 20 минут. Пройдя один, вроде по ООП, понял, что дело пахнет керосином серьезное. Тесты не простые, и, более того, неоднозначные. Тут же на помощь были вызваны основы тайм-менеджмента и матрица Эйзенхауэра, благодаря которым я успешно забыл про конкурс. Вспомнил о нем лишь благодаря имейлу от организаторов за несколько дней до окончания тестирования.



Без Котэ пост не зайдет…


#lifehack: Тренироваться можно и нужно – Цифровой диктант РСВ!


Все тесты я пройти не успел, прошел 20 или 21 и только по темам, в которых хорошо разбирался, потратив на это целый день (a la guerre, comme a la guerre) (офф. топ. – в новом «Цифровом прорыве» тестов не будет (и слава богу!), зато будет зачёт по общей финансовой околокомпьютерной грамотности.
Учитывая, что средний балл у меня получался 15-16, я не был до конца уверен, что пройду. Но когда я получил имейл с темой «Вы приглашены на региональный хакатон!», очень обрадовался.


#Lifehack: На конкурс лучше приходить с готовой командой, функционалом подбора игроков пользоваться только для комплектации недостающих позиций или если нет другого варианта.


На очередном митапе я встретил старого знакомого, крутого фронт-энд разработчика и web-дизайнера Пашу, с которым мы договорились объединить усилия. Ну, что же, один есть! Примерно с этого момента я начал относиться к конкурсу серьезно. Предстояло окончательно укомплектовать команду и выбрать трек, по которому нам необходимо работать. Я отправил инвайты участникам тестирования, которые получили высокие результаты. Так у нас появился Data Analyst (еще и профессиональный ученый) — Дима. Очень полезный человек в команде, которые делал нам крутые тестовые дата сеты и давал подборки рефов. И вообще, умение быстро находить данные — архиважный soft skill! Junior Android Developer — Эдик, еще студент, впоследствии ставший ключевым игроком в команде и уже почти Middle, к нам присоединился через систему сам. У нас было два трека на выбор: здравоохранение и государственное управление. Тут я использовал помощь зала в виде сториз для близких друзей в Instagram. Да, на Юге Instagram рулит даже среди IT-шников, научного и бизнес сообщества.


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


Лучше заранее поработать вместе с командой над какой-нибудь задачей. Когда стало понятно, что речь идет про Скорую помощь, появилось название команды. Хотели забавы ради, упомянуть Барака Обаму (Obama Сare, кто не помнит), был еще вариант Crime (раз уж заговорил про хакеров), но назвали в честь предводителя автоботов — PrimeCare.


Региональный этап был веселым (кормили хорошо, кофемашина работала исправно, молодцы – СОГУ и AxelRose). Запилив простенький back-end и раскидав таски, я ходил консультироваться с экспертами и потихоньку записывал тезисы для презентации, иногда отвлекаясь на загрузку порции данных. Отдувались в основном Паша (сделал весь фронт, админский дэшборд к нему, свел все в итоговую презентацию, успевая при этом фиксить баги в своем проекте и подрабатывать дизайнером) и Эдик (совсем не спал только он), который проявил волю к победе и выдал рабочее нативное Android приложение, опираясь на Пашины макеты экранов в Figma и мой back-end.


Конечно, не все было так гладко. Приложение отказывалось звонить родственникам, а логика пыталась оповестить в первую очередь платную скорую, при этом с самыми дорогими тарифами (убили целый час, как выяснилось, был просто DESC в сортировке рука-лицо).



Как обычно


Самой распространенной шуткой на хакатоне в различных вариациях было: «Звонок в скорую будет продолжен после просмотра рекламы. Через 29с Рекламу можно будет пропустить».



Первое место в треке «Здравоохранение» с максимально возможным количеством баллов дало нам путевку в финал. Непосредственно перед самим финалом, к сожалению, сильно заболел Дима, поэтому в Казань мы отправились втроем, ни на что особенно не рассчитывая. Но качественно проведенный региональный отбор давал нам шанс на победу.



Welcome 2 Kazan City


Итак, финал конкурса, Казань-Экспо, over 3000 участников, шансы победить 50/50 (либо да, либо нет, врет все этот тервер).


Перед вылетом организаторы предоставили интерфейс для выбора трека, по которому мы могли работать на хакатоне. Предлагалось выбрать три приоритетных направления, а дальше — псевдослучайное распределение. Самым сложным и интересным нам показался трек от «Росатома», (логистика, управление роботами etc.), мы его выбрали первым. Интересным, но непонятным показался трек от «Цифровой долины Сочи», понятно было только то, что дело пахнет криптографией (& all that stuff). Последним выбранным нами треком стал субъективно скучный трек «министерства чего-то там» (задачка по статистике), предполагалось, что там минимальная конкуренция.


#lifehack: Приходите пораньше, это всегда полезно


Приехали пораньше и попали на трек к Цифровой долине! Разместились в третьем зале, проверили подключение, оборудование, завели ноду на heroku и репозиторий на git. До начала церемонии открытия, у нас оставалось время осмотреться и доукомплектовать команду, так как мы были втроем. Написали в общий чат конкурса «ищем дизайнера», получили отклик от Руфины, UI-дизайнера из Уфы, чья команда распалась, и она приехала одна. Договорились о встрече возле скалодромчика.



Rock Stars


На входе была создана «биржа труда», где можно было найти себе команду. Там мы встретили Алину, аналитика из Москвы. Таким образом, к церемонии открытия мы успели зарегистрироваться, доукомплектовать вакансии в команде, спокойно получить мерч, немного поболтать с представителями Иннополиса и с Ниной, HR-ом из МТС (рядом сидели в самолете) и начать переваривать задание.



Пока на сцене шутили про упавший реактор


Задание предполагало применение таинственного мессенджера Серафим, про который никто ничего не знал. Как выяснилось позже, это оказался построенный на отечественных форматах шифрования защищенный мессенджер, для которого необходимо было сделать чат-бота по продаже билетов. Дальше было два дня работы, времени не было, спали два раза примерно по часа полтора (несгибаемый Эдик – один раз). Единственным мастер-классом, который мы успели посетить, было мероприятие от разработчиков Серафима (очень серьезные ребята, Рустам, Алексей, Дамир, привет!). Да, чуть не забыл о задании — необходимо было разработать систему контроля доступа в заповедник (национальный парк), так, чтобы билеты можно было продавать через интернет, а проверять и контролировать — без доступа к каналам связи.



Приходилось бороться


Что мы сделали за 48 часов?


  • Продающий сайт, дэшборд для управления, продающий чат-бот для Серафима, нативное Android приложение для проверки билетов, карту заповедника.
  • Отвязали систему от конкретного крипто-алгоритма, сделав возможным подключение внешней шифровалки. Запилили собственную реализацию на базе простого и сверхнадежного одноразового шифро-блокнота (алгоритм Вернама). Немного напрягла атмосфера вокруг истории с книгой рекордов Гиннеса.
  • К предзащите подошли во всеоружии. Подкупило, что эксперты на треке всегда были на связи (даже ночью, правда, в 4 утра мы им не звонили). Если возникали баги в API на их стороне, оперативно исправляли. Понравилось, что эксперты действительно смотрели код. Предзащита прошла на ура, максимальная оценка, отрыв 4 балла, вокруг о нас говорят. Ура, мы победили! Профит! Довольные расслабились! Чуть подпилили презентацию, лениво допиливая свои дэшборды. Разве что шампанское не открыли!

Финальная Защита! Мы выступаем первые. Заплетающимся языком (Red Bull вместо крови) мы повторили выступление на предзащите, даже не договорившись, кто будет слайды переключать (кликера не было, пару слайдов пропустили). Показали программу, бота! Получили фидбэк от председателя жюри «это то, что нужно». Все супер!


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


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


Небольшой итог


Решение на основе проекта команды PrimeCare в финале конкурса активно реализуется фондом «Цифровая долина Сочи» и планируется к вводу в промышленную эксплуатацию после снятия ограничительных мер в связи с распространением коронавирусной инфекции.


На основе проекта, созданного на региональном этапе, учеными Северо-Осетинской государственной медицинской академии г. Владикавказ, планируется создать систему мониторинга соматических больных на базе Северо-Кавказского многопрофильного медицинского центра, с прогнозом снижения смертности повторных кардио-пациентов на 15-20% по разным оценкам.


А теперь немного поумничаю!


  • Настраиваться на хакатон нужно как на спортивное соревнование. Тут и должно быть тяжело, и нагрузка должна быть выше, чем в случае обычного в малых и средних рабочих группах дедлайна.
  • Хакатон по сути — это стратегическая сессия, где ваш код подтверждает только возможность реализации сгенерированного решения. Равнозначных решений может быть много, жюри в основном оценивает эффективность их масштабирования. Делать нормальный код, хотя бы уровня нормального MVP — ошибка.
  • Полезно ли это? Однозначно да! Можно за короткий промежуток времени прокачать Soft Skills и получить обратную связь, узнать, каких навыков не хватает. Также, несмотря на сверхплотный график, получается неплохой networking.
  • Комплектовать команду непосредственно на хакатоне — большой риск, т.к. новый игрок может быть токсичным и испортить весь workflow (нам повезло, новые игроки отлично усилили команду, но это скорее исключение, нежели правило)
  • Делать прям самый минимум, но рабочий на 100%. Всякие дэшборды и плюхи просто рисовать, и то — не факт.
  • Необходимо разделять управленческие и технические роли.
  • Лучше всего с презентациями справляются артисты разговорного жанра, люди с опытом в прямых продажах, либо имеющие специальную подготовку.
  • Использовать инструменты и технологии с минимальной стоимостью разработки, желательно самые простые. Как пример, программисты на Python или Go решат задачу быстрее, чем программисты на C/C++. («Смотря какую,» — скажут они, холивар, конечно ;) ). Использовать по возможности NoSQL базы данных, document oriented, чтобы не тратить время на data definition.
  • Также на данном этапе абсолютно не важна производительность
  • Если у вас есть один или несколько full stack разработчиков, использовать стек, который знают более-менее все. Мы использовали такой набор: Vue.JS, Bootstrap, Node.JS, Express и MongoDB
  • Делать мобильное решение только для одной платформы
  • Презентации делать в PDF (какая у кого версия power point — only god knows)
  • Привезти свой «чертов кликер»
  • Самое главное, что бы ни случилось, спать хотя бы часа по 3-4!

В 2020 году стартовал новый конкурс Цифровой прорыв». Регистрация уже открыта. Денежные призы предусмотрены уже на региональных этапах! WELCOME!

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

    0
    Я думаю, что главная ошибка новичка заключается в том, что он участвует в хакатоне без чётко поставленной цели и надеется на удачу или свои способности.

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

    Самое читаемое