ProHoster > Блог > Новости интернета > Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек
Что-то обязательно пойдет не так, и это нормально: как выиграть хакатон командой из трех человек
Каким составом вы обычно ходите на хакатоны? Изначально мы заявляли о том, что идеальная команда состоит из пяти человек — управленца, двух программистов, дизайнера и маркетолога. Но опыт наших финалистов показал, что выиграть хакатон можно маленьким составом из трех человек. Из 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:«Я с Полиной всю ночь делал презентацию, а в итоге ее забыли скинуть на компьютер в зале, где проходила защита. Мы пытаемся открыть с флешки, и антивирус воспринимает файл как вирус и сносит ее. В итоге удалось все запустить только за минуту до конца нашего выступления. Мы успели показать видео, но все равно очень расстроились. Похожая история случилась с нами на предзащите. У нас не запускался прототип, компьютеры Полины и Льва зависли, а мой я почему-то оставил в ангаре, где сидел наш трек. И хотя эксперты утром видели нашу работу, мы выглядели как команда чудаков с раздаткой, красивыми словами, но без продукта. Учитывая, что мою работу над матмоделями многие участники воспринимали как «сидит чего-то рисует, в компьютер не смотрит», ситуация была не очень».
Прозвучит банально, но все, что вы можете сделать в этой ситуации — выдохнуть. Это уже случилось. Нет, вы не одни такие, косячат все. Даже если это роковая ошибка — зато это опыт. И еще подумайте, а посчитает ли человек, который вас оценивает, этот случай факапом?
Делитесь в комментариях, каким составом вам комфортнее работать на хакатоне (и в людях, и в специалистах) и как строите процессы в команде.