Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек

Каким составом вы обычно ходите на хакатоны? Изначально мы заявляли о том, что идеальная команда состоит из пяти человек — управленца, двух программистов, дизайнера и маркетолога. Но опыт наших финалистов показал, что выиграть хакатон можно маленьким составом из трех человек. Из 26 команд, которые победили в финале, 3 соревновались и выиграли мушкетерским составом. Как им это удалось — читайте дальше.

Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек

Мы пообщались с капитанами всех трех команд и поняли, что в стратегии их поведения есть много общего. Герои этого поста — команды PLEXeT (Ставрополь, номинация Минкомсвязи), «Композитный ключик» (Тула, номинация Министерства информатизации и связи Республики Татарстан) и Jingu Digital (Екатеринбург, номинация Минпромторга). Для тех, кому интересно — краткое описание команд спрятали под кат.
Описания командPLEXeT
В команде три человека — разработчик (веб, C++, компетенции в ИБ), дизайнер и управленец. До регионального хакатона знакомы не были. Команду собрал капитан на основе результатов онлайн-тестирования.
Композитный ключик
В команде три разработчика-коллеги — fullstack с десятилетним опытом в ИТ, backend и mobile и backend с уклоном в базы данных.
Jingu Digital
Команда состоит из двух программистов — backend и AR/Unity, а также дизайнера, который также отвечал за менеджмент команды. Победили в номинации Минпромторга

Выбирайте задачу, которая близка к вашим компетенциям

Помните, был такой стишок «драмкружок, кружок по фото, а еще мне петь охота»? Думаю, что многим знакомо это чувство — когда интересно все вокруг, хочется и в своем направлении по-новому себя показать, и новую отрасль/сферу разработки пощупать. Выбор здесь зависит только от целей вашей команды и готовности идти на риск — сможете принять свою ошибку, если вдруг на середине хакатона поймете, что вытащить эту задачу нереально? Эксперименты из разряда «не шарю в мобильной разработке, но чем черт не шутит» — на любителя. Тот ли вы любитель?

Артем Кошко (ashchuk), команда «Композитный ключик»: «Мы изначально задумывали попробовать что-нибудь новенькое. На региональном этапе попробовали и несколько nuget пакетов, до которых никак руки не доходили, и Яндекс.Облако. На финале развернули CockroachDB в Kubernetes, попробовали накатить на него миграции с помощью EF Core. Что-то хорошо пошло, что-то не очень. Так что мы и новому научились, и себя проверили, и удостоверились в надежности проверенных подходов».

Как выбрать задачу, если разбегаются глаза:

  • Подумайте, какие компетенции нужны, чтобы решить этот кейс, и есть ли они у всех членов команды
  • Если компетенций не хватает — сможете ли вы их компенсировать (придумать другой путь решения, быстро научиться новому)
  • Проведите краткий ресерч рынка, для которого будете делать продукт
  • Просчитайте конкуренцию — на какой трек / компанию / задачу пойдет больше всего людей
  • Ответьте на вопрос: что будет драйвить вас сильнее всего?

Олег Бахтадзе-Карнаухов (PLEXeT), команда PLEXeT: «Мы принимали решение на десятичасовой пересадке в аэропорту — как раз в момент приземления нам на почту упал перечень треков и краткие формулировки заданий. Я сразу выделил штуки четыре задачи, которые мне как программисту интересны и по которым понятен план действий после старта — что нужно сделать и как мы будем это делать. Потом прикинул задачи каждого члена команды и оценил уровень конкуренции. В итоге выбирали между задачами Газпрома и Минкомсвязи. У нашего дизайнера отец работает с нефтегазом — мы ему позвонили и задали вопросы по отрасли. В итоге поняли, что да, интересно, но чего-то принципиально нового мы предложить не сможем и по компетенциям точно не вытащим, потому что слишком много отраслевой специфики нужно учитывать. В итоге рискнули и пошли на первый трек».

Диана Ганиева (dirilean), команда Jingu Digital: «В региональном этапе у нас было задание, связанное с сельским хозяйством, а на финале — AR/VR в промышленности. Выбирали всей командой, чтобы каждый человек смог реализовать свои способности. После отсеивали то, что нам показалось не таким интересным».

Делайте домашнюю работу

И мы сейчас не про заготовки кода — заниматься таким вообще бессмысленно. Речь идет про коммуникацию в команде. Если вы еще не сыгрались, не научились понимать друг друга и договариваться, соберитесь пару раз заранее и смоделируйте хакатон, или хотя бы созвонитесь, чтобы проговорить основные моменты, продумать план действий, обсудить сильные и слабые стороны друг друга. Можно даже найти какой-нибудь кейс и попытаться его решить — хотя бы схематично, на уровне «как прийти из пункта А в пункт B».

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

Да, НО.

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

Олег Бахтадзе-Карнаухов, команда PLEXeT: «Никого из членов моей команды я до конкурса не знал – выбрал и пригласил их, основываясь на компетенциях и оценках на этапе онлайн-тестирования. Когда мы выиграли региональный хакатон и поняли, что нам еще ехать вместе в Казань и доделывать проект хакатона в Ставрополе, решили, что будем собираться и тренироваться. До финала мы встретились два раза — находили рандомную задачу и решали ее. Что-то вроде кейс-чемпионата. И уже на этом этапе мы увидели проблему в коммуникации и распределении задач — пока Полина (дизайнер) и Лев (менеджер) думали над корпоративным стилем, фичами продукта, искали данные по рынку, у меня оставалось много свободного времени. Так мы поняли, что нужно брать номинацию посложнее (не хвастаюсь, просто в основном нам попадались задачи, связанные с вебом, а мне это на раз-два) и мне нужно больше вовлекаться в рабочие процессы. В итоге на финале во время предварительного ресерча я занимался математическим моделированием, разрабатывал алгоритмы».

Артем Кошко, команда «Композитный ключик» : «Мы готовились скорее морально, про заготовку кода речи даже не шло. Еще заранее распределили роли в команде — мы втроем все программисты (у нас fullstack и два backend, плюс я немного шарю в мобильной разработке), но было понятно, что кому-то придется взять на себя роли дизайнера и управленца. Вот так незаметно для себя я стал тимлидом, попробовал себя в роли бизнес-аналитика, докладчика и presentation maker. Думаю, если бы мы заранее это не проговорили, то у нас бы не получилось правильно распределить время, и на финальную защиту мы бы не вышли».

Диана Ганиева, Jingu Digital: «К хакатону не готовились, потому что считаем, что проекты на хаках должны быть сделаны с нуля — это честно. Заранее, на этапе выбора треков, у нас был готов общий концепт того, что хотим сделать».

На одних разработчиках не выехать

Диана Ганиева, команда Jingu Digital: «У нас в команде трое специалистов в разных областях. На мой взгляд, это идеальный состав для хакатона. Каждый занят своим делом и нет пересечений и дележки задач. Еще один человек был бы лишним».

Статистика показала, что средний состав наших команд — от 4 до 5 человек, среди которых (в лучшем случае) один дизайнер. Принято считать, что нужно усиливать команду разработчиками разных мастей — чтобы и в базу смочь, и «машинкой» удивить если что. В лучшем случае, еще прихватывают с собой дизайнера (не обижайтесь, мы вас любим!), презентация и интерфейсы сами себя не отрисуют, в конце концов. Ролью управленца пренебрегают еще чаще — обычно эту функцию берет на себя капитан команды, разработчик по совместительству.
И это в корне неверно.

Артем Кошко, команда «Композитный ключик»: «В какой-то момент мы пожалели, что не взяли в команду профильного специалиста. Если с дизайном мы еще как-то смогли справиться, то с бизнес-планом и другими стратегическими вещами было сложно. Яркий пример — когда нужно было посчитать целевую аудиторию и объем рынка, TAM, SAM».

Олег Бахтадзе-Карнаухов, команда PLEXeT: «Вклад разработчика в продукт — это далеко не 80% работы, как принято считать. Нельзя сказать, что ребятам было проще — на них лежал почти весь основной массив задач. Мой код без интерфейсов, презентации, видео, стратегии — просто набор символов. Если бы в команде вместо них были еще разработчики, мы бы, наверное, справились, но все бы выглядело менее профессионально. Особенно презентация — это вообще половина успеха, как мне кажется. За время защиты и потом в реальной жизни за пару минут никто не успеет понять, действительно ли работает твой прототип. Если увлечешься схемами, то никто не будет тебя слушать. Переборщишь с текстом — все поймут, что ты сам не знаешь, что главное в твоем продукте, как его подать и кому он нужен».

Тайм-менеджмент и отдых

Помните, как в мультфильмах детства типа «Тома и Джерри» герои ставили себе спички под веки, чтобы они не закрывались? Примерно также выглядят неопытные (или слишком увлеченные) участники хакатонов.

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

Артем Кошко, команда «Композитный ключик»: «У нас было много чак-чака, очень много — посередине нашего стола из него была построена башня, она поддерживала нам боевой дух и подкрепляла углеводами в нужный момент. Отдыхали и работали почти все время вместе, по отдельности не отдыхали. А вот спали по-разному. Андрей (fullstack-разработчик) любит спать днем, Денис и я — ночью. Поэтому с Денисом я больше работал днем, а с Андреем ночью. А сам спал в перерывах. Какой-то системы работы и постановки задач у нас не было — скорее все было спонтанно. Но нам это не мешало, потому что мы хорошо друг друга понимаем и дополняем. Здесь помогло то, что мы коллеги и тесно общаемся. Я – бывший стажер Андрея, а Денис пришел в компанию моим стажером».

А вот, кстати, та самая гора чак-чака.

Грамотный тайм-менеджмент почти все опрошенные нами участники назвали главным критерием успеха на хакатоне. Что это значит? Вы распределяете задачи так, что у вас остается время и на сон, и на еду, и задачи выполняются не в режиме всерухнуло, а в комфортном для каждого участника команды темпе.
Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек

Олег Бахтадзе-Карнаухов, команда PLEXeT: «У нас была задача не работать как можно больше часов, а оставаться продуктивными как можно дольше. Хотя мы и спали по 3-4 часа в день, нам это, кажется, удалось. Мы могли сходить в игровую комнату или потусить на стендах партнеров, выделить нормальное время на еду. Во второй день постарались максимально разгрузить Льва, чтобы он выспался и успел привести себя в порядок перед выступлением. Нам помогли репетиции хакатона, так как мы уже понимали, как нужно распределить задачи, и синхронизация распорядка дня — ели, спали и бодрствовали мы в одно и то же время. В итоге работали как единый механизм».

Не знаем, как этой команде удалось протащить на хакатон Глаз Агомото, но в итоге они даже успели снять видео о проекте и подготовить раздатку.

Несколько советов по тайм-менеджменту на хакатоне:

  • Идите от большого к малому — бейте задачи на небольшие блоки.
  • Хакатон — это марафон. Что самое главное в марафоне? Стараться бежать в едином темпе, иначе к концу дистанции свалишься. Старайтесь работать с примерно одинаковой интенсивностью и не доводить себя до изнеможения.
  • Заранее подумайте, что будет входить в задачи каждого участника, и сколько у него уйдет на это времени. Поможет избежать сюрпризов, когда до дедлайна полчаса, а у вас не готов большой кусок работы.
  • Сверяйте координаты, чтобы скорректировать объем задач. Чувствуете, что идете хорошо и даже остается время? Отлично — его можно потратить на сон или доработку презентации.
  • Не зацикливайтесь на деталях, работайте широкими мазками.
  • Оторваться от работы сложно, поэтому специально выделяйте себе время на сон, отдых или потупить. Можно ставить будильники, например.
  • Выделяйте время на подготовку и репетицию речи. Это обязательно для всех и всегда. Об этом мы рассказывали в одном из прошлых постов.

А еще есть вот такое альтернативное мнение. Вы за какой вариант — истязание кодингом или война войной, а обед по расписанию?

Диана Ганиева, команда Jingu Digital: «У нас каждый человек в команде отвечает за что-то одно, заменить нас было некем, поэтому работать посменно не могли. Когда совсем не оставалось сил спали часа по три в зависимости от объема работ, который еще остался за участником. Потусить времени не было от слова совсем, мы не тратим на это драгоценное время. Продуктивность поддерживали хоть и коротким, но сном, и вкусностями с чаем — никаких энергетиков или кофе».

Под катом спрятали несколько полезных ссылок, если хочется погрузиться в тему тайм-менеджмента. Она и в обычной жизни пригодится — поверьте автору этого поста, который вечно опаздывает 🙂
Для покорителей времени — Эффективные методики управления временем собрала в блоге «Нетологии» менеджер проектов «Лаборатории Касперского»: клик
— Хорошая статья для начинающих на Cossa: клик

Постарайтесь выделиться

Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек

Выше мы писали про команду, которая сделала раздатку для защиты проекта. В своем треке они были такие одни, и мы уверены, что среди 3500+ участников больше таких не нашлось.
Конечно, это не стало главной причиной их победы, но дополнительный плюс точно принесло — как минимум, симпатию экспертов. Выделяться можно по-разному — одни наши победители каждое выступлению начинают с шутки о том, что они сделали бомбу (команда имени Сахарова, привет!).

Подробно останавливаться на этом не будем, а просто поделимся кейсом команды PLEXeT — нам кажется, он достоин стать шуткой про сына маминой подруги.

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

Что-то обязательно пойдет не так, и это нормально

На хакатоне, как и в обычной жизни, всегда есть место косякам. Даже если кажется, что ты все предусмотрел — кто из нас не опаздывал на самолет/экзамен/свадьбу просто потому, что автомобили решили встать в пробку, эскалатор — сломаться, а паспорт — забыться дома?

Олег Бахтадзе-Карнаухов, команда PLEXeT: «Я с Полиной всю ночь делал презентацию, а в итоге ее забыли скинуть на компьютер в зале, где проходила защита. Мы пытаемся открыть с флешки, и антивирус воспринимает файл как вирус и сносит ее. В итоге удалось все запустить только за минуту до конца нашего выступления. Мы успели показать видео, но все равно очень расстроились. Похожая история случилась с нами на предзащите. У нас не запускался прототип, компьютеры Полины и Льва зависли, а мой я почему-то оставил в ангаре, где сидел наш трек. И хотя эксперты утром видели нашу работу, мы выглядели как команда чудаков с раздаткой, красивыми словами, но без продукта. Учитывая, что мою работу над матмоделями многие участники воспринимали как «сидит чего-то рисует, в компьютер не смотрит», ситуация была не очень».

Прозвучит банально, но все, что вы можете сделать в этой ситуации — выдохнуть. Это уже случилось. Нет, вы не одни такие, косячат все. Даже если это роковая ошибка — зато это опыт. И еще подумайте, а посчитает ли человек, который вас оценивает, этот случай факапом?

Делитесь в комментариях, каким составом вам комфортнее работать на хакатоне (и в людях, и в специалистах) и как строите процессы в команде.

Источник: habr.com