Привет, я Кирилл Шеховцов, технический лидер в SberCloud и ментор хакатонов Сбера. Я знаю, как выглядит внутренняя кухня таких соревнований, чем они интересны и как сделать так, чтобы ваша команда прошла отбор и победила в конкурсе — обо всем этом расскажу сегодня. Эти знания пригодятся вам не только на хакатонах, но и на других тематических соревнованиях — например, на нашем онлайн-чемпионате по анализу данных AI Journey Contest 2021.
Наш «хакатонский» опыт
SberCloud часто выступает технологическим партнером на хакатонах, организуемых нашими коллегами. Например, мы предложили одну из задач на Moscow City Hack, который прошел в середине июня. Участники должны были разработать платформу для мгновенного обмена сообщениями. Тематика чата могла быть любой — мы решили не загонять разработчиков в рамки. Победителем в нашей категории стала команда Peach2Win, которая представила прототип безопасного мессенджера со встроенной технологией speech-to-text (будем честны, никто не любит слушать голосовые сообщения).
Мы проводим и собственные мероприятия под эгидой Сбера — среди них SberCode и SberCloud.Advanced Hacking. Одной из задач первого хакатона стала разработка интерфейса для мониторинга ресурсов в облаке SberCloud.Advanced. Первое место заняла команда «Черный лебедь», она интегрировала в свое решение систему искусственного интеллекта. Если говорить о втором хакатоне, то там мы предоставили участникам возможность покреативить. Они могли самостоятельно выбрать тематику проекта, однако одним из ключевых критериев его оценки было число задействованных сервисов нашей облачной платформы SberCloud.Advanced — Kubernetes, FunctionGraph, API Gateway, Graph Engine Service, Document Database Service и других. Главный приз забрала команда EyeCloud, которая разработала модель машинного обучения, в два раза сокращающую время подбора контактных линз. Сейчас команда доводит проект до стадии MVP и готовит его к выходу на рынок.
Участники хакатонов реализуют проекты из разных сфер, пишут на разных языках, работают с разными фреймворками. При подготовке и оценке заданий менторам на таких соревнованиях приходится решать множество организационных и технических вопросов — каких именно, расскажу далее.
Будни менторов
Работа ментора на хакатоне начинается за один-два месяца до «Дня X». Это время уходит на подбор задачи и проработку требований к ней. Некоторые организаторы предпочитают не разглашать тему или условия до старта, чтобы команды не готовились заранее — якобы неожиданные задачи и стрессовая обстановка стимулируют находить неординарные решения — но мы предоставляем всю информацию сразу. Так команды могут здраво оценить собственные возможности, при необходимости добрать компетенции и успешно завершить хакатон.
Чаще всего в качестве задачи мы выбираем проект, который было бы неплохо внедрить в экосистему Сбера. Нам интересно, как мыслят участники хакатона — они всегда привносят свежие идеи, часть этих идей мы впоследствии можем взять на вооружение. В среднем, подготовка технического задания занимает примерно месяц, но если возникает «горящая повестка», приходится работать в сжатые сроки — например, если ближе к дате соревнований у коллег возникает необходимость внедрить новую функцию, и им хочется узнать, как ее реализацию видят другие разработчики.
Еще один важный этап работы ментора — оценка проектов. Каждый член жюри обладает своими сильными сторонами. Мы это учитываем — распределяем команды согласно компетенциям проверяющих, чтобы всем было комфортно. Если участников много, менторы объединяются в мини-группы и «ведут» сразу несколько проектов. Мы активно общаемся друг с другом — созваниваемся, обмениваемся опытом. Дискуссии, связанные с выставлением оценок, редко затягиваются надолго — пара часов, не более: мы можем слегка выйти за рамки временного регламента, но при этом понимаем, что хакатонщикам не терпится узнать результат бессонных ночей. Хотя в моей практике был случай, когда мы достаточно долго не могли прийти к консенсусу и выбрать победителя среди двух команд. Выход из ситуации нашли: «перетасовали» менторский состав, определились с новыми критериями оценки — в итоге вынесли объективное решение.
Помимо итоговой оценки мы сопровождаем команды на всех этапах разработки — даем рекомендации, делимся лучшими практиками, отвечаем на технические и нетехнические вопросы. Был случай, когда участник попросил выручить его с зарядкой для ноутбука — нашли замену, помогли. Однако обычно мы подсказываем, чего, на наш взгляд, не хватает продукту. Например, одна команда разработала мобильное приложение, где было продумано практически все, кроме понятного главного меню. Тогда дизайнеры Сбера подкинули пару идей, как можно исправить ситуацию. Буквально на следующий день участники подготовили новый дизайн, а к моменту демонстрации продукта уже показали полнофункциональное решение.
Нестрогий отбор и дополнительные возможности
Хакатоны Сбера — это командные мероприятия. Одиночки тоже могут записаться, но мы все равно объединяем их в группы с учетом имеющихся компетенций. Оптимальный размер команды — четыре-пять человек. Можно больше, но по собственному опыту скажу, что это редкость — капитан большой команды должен проявлять недюжинные управленческие навыки, иначе она развалится (и в случае победы призовой фонд придется делить на большее количество частей).
Зарегистрироваться на мероприятие могут и команды, желающие доработать какой-либо сторонний проект — это не запрещено. Встречаются в списках и так называемые «серийные хакатонщики». Эти команды регулярно участвуют в соревнованиях и приносят наработки с одного хакатона на другой.
Как показывает практика, наличие коммерческого продукта или большой опыт не всегда дают преимущество перед другими разработчиками. На SberCloud.Advanced Hacking к нам со своим решением пришла команда Tango.Vision, профессионально занимающаяся цифровизацией зданий. Несмотря на мощный продукт, им не удалось победить, а новички составили им сильную конкуренцию — у них был более свежий взгляд на поставленную задачу, по сравнению с ребятами, которые давно работают вместе.
Насколько разные проекты у команд, настолько же разная у них и мотивация к участию. Призовой фонд — важный, но не единственный стимул: многих привлекает азарт, чувство удовлетворения, что ты смог выполнить задачу за отведенное время. Кого-то интересует мерч, некоторые коллекционируют стикеры. Турнирная жизнь очень напоминает атмосферу в киберспорте — люди тоже живут командами, знают сильные и слабые стороны друг друга, вместе празднуют победы. Кроме денежных призов и сувенирной атрибутики, участники получают шанс устроиться на работу. Вообще хакатоны — отличная возможность для рекрутинга: решение задач позволяет оценить уровень и потенциал специалистов. По итогам у нас остается список сильных кандидатов, готовых развивать инновационные направления в Сбере.
Снова в бой
Накопленный опыт и знания, приобретенные за время организации хакатонов, помогают нам проводить чемпионаты других форматов, такие как AI Journey Contest. Это — онлайн-соревнование по анализу данных, которое проходит на нашей платформе DS Works. Мы предлагаем дата-сайентистам решить три задачи машинного обучения, используя самый мощный суперкомпьютер в России — «Кристофари». Зарегистрироваться и посостязаться можно до 31 октября [но участникам должно быть больше 18 лет].
Общий призовой фонд превышает 8 млн рублей. Но как в случае с хакатонами, помимо денежных призов, участники приобретают опыт для дальнейшего развития в выбранной области и могут получить оффер от организаторов и партнеров. Награждение состоится 10–12 ноября в рамках международной конференции по системам ИИ — AI Journey 2021.
Напоследок дам еще пару советов будущим участникам состязаний: заранее сформируйте команду, оцените, хватает ли у вас компетенций (нехватка специалистов с нужными навыками — одна из самых частых причин «схода с дистанции»). Подготовьте запасных, способных в случае чего выйти на замену и «подхватить» разработку. И в случае, если правила конкурса этого не запрещают, не пренебрегайте общением с менторами и организаторами — мы поделимся экспертизой, подскажем, на что обратить внимание, чтобы показать достойный результат.