Закрыть
Вход на сайт
Регистрация
Вы успешно зарегистрировались!

Перейти к обучению
Регистрация
Войти на сайт

Как победить в Хакатоне?

30 марта 2019
355
В ноябре 2018 года я участвовал в Хакатоне от ДОМ.РФ и наша команда победила. Очень долго не доходили руки об этом написать и вот, спустя много месяцев...

В ноябре 2018 года я участвовал в Хакатоне от ДОМ.РФ и наша команда победила. Очень долго не доходили руки об этом написать и вот, спустя много месяцев, решил поведать вам об этом событии.

В этом посте хочу поделиться опытом участия, рассказать что нас привело к победе, чем понравилось участие и так далее.

Начну с того, что расскажу что такое Хакатон для тех, кто не знает что это такое.

Хакатон - это такое мероприятие, где собирается куча программистов по командам и несколько дней разрабатывают какой-то IT-проект. В конце презентуют эти проекты и жюри выбирает победителя. Как правило победители забирают какую-то денежную сумма на развитие своих проектов. При этом, все время они находятся в одном помещении, пьют много Ред Булла, кофе, чая и воды, а ночуют прям на клавиатуре.

Нас в команде было 4 человека и назывались мы Bro-Tuny.

Слева-направо: Артем, Миша, Боря и Я.

Честно говоря, я до сих пор считаю, что мы не заслуженно получили эту победу. Изначально, когда мы шли участвовать, у нас был настрой просто «покодить», получить удовольствие и получить опыт работы в команде. Мы были совершенно не сработанной командой, которая впервые села делать проект вместе и тут на тебе…выиграли такое мероприятие.

Самое главное, почему победа оказалась в наших руках - большая часть участников была студентами, соответственно, опыта у них было не много. Мы же все уже работаем, знаем и умеем, поэтому проблем со знаниями не было.

Даже когда нас объявили победителями, было какое-то ощущение не удовлетворенности, ибо не присутствовала борьба за первенство. Просто неожиданно мы оказались лучше всех и все.

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

При чем, я не считаю себя крутым прогером и когда шел на хакатон, дико боялся затупить. Вдруг, ребята будут супер-пупер умные, а я буду отставать и тянуть команду назад. Но, оказалось, что в целом я не плох)))

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

Плюс, мы заранее готовились к хакатону. У нас была пара встреч, где мы немного покодили, чтобы понять кто что умеет и попридумывали идеи на тему хакатона. Кстати, окончательная тема, объявляется на самом хакатоне. Единственное, что мы знали, что тема будет «Недвижимость».

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

Мы не стали задумывать супер-крутую идею с технической стороны. У нас была простая CRM-система, в которой просто добавляются и редактируются данные. Никаких инноваций и ничего серьезного, но, в отличие от остальных проектов, наш отработал от и до.

У других и были прикольные идеи, но на презентации они не заработали или заработали плохо или вообще не были реализованы. Мы вышли, рассказали в чем идея и показали как это работает. Без глюков, без проблем, все как по маслу.

ВЫВОД: лучше один простой и рабочий продукт, чем сложная идея на листке бумаги и без рабочего кода.

Мы очень круто распределили обязанности по уровням возможностей. Глобально, весь проект распределился на 3 части:

1) back-end, который отвечал за обработку данных

2) CRM-система в ElectronJS

3) Сайт, на котором выводилась информация, которую заносят в базу через crm-систему.

За каждый модуль отвечал отдельный человек. Не было никаких пересечений в обязанностях и это очень круто! Я кайфанул от такой слаженности. Просто я на работе работаю full-stack и мне надо думать одновременно за несколько человек, чтобы все работало слаженно и еще не ломалось. А тут я отвечаю за небольшую часть проекта и совершенно не парю мозги что происходит в другой части. Мне нужно, чтобы моя часть кода отработалась хорошо. Если что-то падает, то я знаю, что за это отвечает Боря. И мне нужно просто сказать «Боря, сервер упал!» и не надо его поднимать самому) Я просто точно знаю, что Боря обязательно его поднимет и все будет хорошо.

ВЫВОД: распеределение обязанностей по стекам технологий - это ключ к слаженной работе команды.

У нас была очень крутая атмосфера внутри команды. Мы ни разу не поругались. Мы постоянно шутили и подкалывали друг друга. Шутки в формате «А давайте, если выиграем, то потратим деньги на курсы веб-дизайна для Артема, а то он че-то хреново рисует» были нормой. А на презентации я выбил у зала аплодисменты для Артема за его суперский дизайн.

При этом никто не обижается и понимает, что это просто шутка и ценность шутки в том, чтобы красиво подколоть, а не обидеть. После этого Хакатона я полюбил передачу «Прожарка». Я прям понял смысл этой передачи)

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

Пожалуй, больше всего для меня Хакатон запомнится именной это дружественной, непринужденной, рабочей атмосферой.

ВЫВОД: Эмоциональная атмосфера - 50% продуктивности команды. К тому же, если не победите, можно просто круто провести время.

Еще один шаг, который мы сделали точно правильно: ночью мы уехали спать. При чем, мы единственные, кто приехал со спальниками и единственные, кто уехал домой спать)

Я считаю, что это было очень правильное решение. ОЧЕНЬ ПРАВИЛЬНОЕ РЕШЕНИЕ. Хоть я и поспал всего 5 часов, спал очень плохо, нервно, потому что во сне я делал post-запросы, а Боря не хотел настраивать мне ответы, но утром я был все-равно бодрячком.

По факту, основную часть работы мы сделали в первый день. К 2 часам ночи у нас был практически готовый продукт и оставалось еще доделать немного функционала и отшлифовать. Поэтому утром мы не спеша все доделали и спокойно начали делать презентацию. У нас не было красных измученных глаз, мы просто в свое удовольствие пилили проект.

ВЫВОД: спать - наше все. Не спать нельзя.

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

Поэтому не думайте, что цель Хакатона, создать рабочий продукт. Цели Хакатона работают на спонсоров и организаторов. Конкретно у нашего Хакатона целью было «схантить» программистов. После мероприятия нам звонили и предлагали работать в ДОМ.РФ. Я отказался.

Для других Хакатонов, целью может быть получить крутые идеи. Для третьих, самореклама спонсоров и так далее.

ВЫВОД: подумайте какую цель вы поставите для себя, участвуя в хакатоне. Мы хотели проверить свои навыки и попробовать создать рабочий продукт совместно в команде. У некоторых на хакатоне была цель именно пойти работать в ДОМ.РФ и показать себя там как хорошего специалиста.

И наконец, хочу рассказать про ожидания. У нас их не было. Мы изначально решили, что не стремимся выиграть и если даже победим, то откажемся от денег, потому что думали, что деньги дадут ТОЛЬКО на развитие проекта. А мы люди занятые и развивать проект будет некогда. В итоге деньги дали просто каждому на руки и, к слову, я их уже потратил)

В любом случае, если бы проиграли, то не расстроились бы и все прошло дальше своим чередом.

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

В общем и целом есть куда расти.

Теперь я понимаю что такое Хакатон и знаю к чему готовится в следующий раз.

Я получил очень крутой опыт работы в команде и дико кайфанул от этого, спасибо ребятам.

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

Участвуйте в Хакатонах, не стройте ожидания, кайфуйте и обязательно получите опыт, а может быть и деньги)