C#8, .NET 5, DevSecOps, Azure Functions та мікросервіси на конференції .NET fwdays | Online

Опыт участия украинского студента в хакатоне от TechCrunch и Viva Technology (Париж, май 2018)

C 24 по 26 мая 2018 года в Париже проходила одна из самых масштабных выставок современных информационных технологий под названием Viva Technology. За 3 дня выставку посетило более 100 000 человек из 125 стран — 9000 стартапов, 1900 инвесторов и столько же журналистов.

TechCrunch Startup Battle был частью выставки

Цукерберг рассказывал о скандале с Cambridge Analytica и филантропии

Также обсуждалась встреча Tech For Good, проходившая за день до Viva Technology на Елисейских Полях

У IBM был интересный стенд с макетом отсека МКС

Масштаб действительно впечатляет

TechCrunch Hackathon

Хакатон от небезызвестного TechCrunch был частью выставки и проходил в 2 дня. На мероприятии было представлено 5 спонсоров, с такими темами:

  • IBM — искусственный интеллект
  • Microsoft — искусственный интеллект
  • Renault — будущее беспилотных машин
  • Leboncoin (подобие OLX) — торговая площадка будущего
  • GefCo & Talan (логистика) — автосервис будущего

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

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

Выбор номинации

Спонсоры были известны еще за несколько недель до самого хакатона, но при регистрации номинацию выбрать было нельзя. Обещали через некоторое время прислать ссылку для регистрации на Ideation Platform.

Что в итоге и произошло, правда всего за 2 недели до начала хакатона. Пока я думал какого бы спонсора выбрать — IBM или Microsoft, другие участники свой выбор сделали и мне пришлось выбирать из оставшихся вариантов — Leboncoin и GefCo & Talan. Заниматься разработкой очередного онлайн-маркетплейса мне не захотелось, поэтому я рискнул и выбрал GefCo & Talan.

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

GEFCO provides Supply chain services to car manufacturers or distributors that need to transport large amounts of cars. eg. Car rental companies can work with Gefco to transport their car(s) to automobile repair shops, administrative registration departments, to sister retailers, etc.

Car repairs are time-consuming. Eg. Car Rental companies need to find a garage, organize transport, collect information, etc.

Your mission: develop a system that will enable cars (or drivers) to request maintenance services directly from the car to GEFCO’s suppliers. Solutions can range from a «dash button» for the final customer to signal issues and an AI predictive maintenance system, to a gamification system allowing the final customer to manage car repair evaluations to self-managed parking.

За 4 дня до хакатона организаторы провели вебинар, на котором рассказали о своем видении будущего и стало немного понятнее, что они хотят от нас. Если коротко, то они предвидят появление и доминацию такой услуги как Car as a Service (CaaS), смысл которого в предоставлении машин в аренду в любых масштабах — от личного транспорта до автофлота для компаний наподобие Uber.

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

Открытие и подбор команды

Регистрация открывалась в 11:00 и закрывалась в 13:00. Всем участникам выдавалась фирменная футболка с логотипом TechCrunch (только ради этого стоило пойти) и набор юного хакера, в который входили — зубная щетка, немного зубной пасты, беруши и маска для сна.

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

Первые часы хакатона

Первое, что нужно сделать на любом хакатоне — найти команду или прийти с ней. Можно конечно участвовать и даже выигрывать самому, но это не очень интересно. Глупо было надеяться, что кто-то из моих друзей/коллег/знакомых захочет присоединится к мероприятию в рабочий день, поэтому мне предстояло составить команду из пока незнакомых людей.

Я сел за первый пустой стол и стал ждать. Постепенно стол заполнился такими же одиночками как и я. Начались обсуждения идей и скиллов — из 10 человек, только 2 разработчика. Поэтому если вы разработчик, то на хакатоне без команды не останетесь.

Один из ребят за столом оказался очень харизматичным сейлзом (тот кто может продать все на свете). Так я нашел первого сокомандника, который в течении получаса нашел еще 4-ых. В итоге в нашу команду вошли:

  • собственно я (разработчик) — Украина
  • Карель (инженер по данным) — Чехия
  • Дио (инженер по данным) — Африка (точную страну не запомнил)
  • Дэвид (продажник) — Франция
  • Хлоя (дизайнер) — Франция
  • Якун (маркетолог) — Китай

Наша команда в полном составе

Ночью некоторые команды пошли спать, но не мы

Этим составом нам предстояло провести следующие 24 часа, пытаясь придумать решение проблемы для компании-спонсора GefCo.

Поиски идеи

Одним из ключевых моментов во время хакатона является идея. У нас она была и мы даже начали над ней работать (не обошлось конечно без споров, пока мы притирались). Но после общения с менторами, оказалось что все делают почти то же самое — у всех одна и та же идея. Та самая, которую изначально озвучили жюри — мобильное приложения для взаимодействия арендатора и компании, предоставляющей машину в аренду.

После продолжительного общения с менторами и членами жюри мы пришли к другой, более интересной идее. К этому моменту я уже успел написать часть кода для реализации первой идеи. НЕ ДЕЛАЙТЕ ТАК — если вы хороший разработчик, то успеете закодить реализацию для финального демо за несколько часов. Поговорите с менторами, расскажите Вашу идею, получите фидбек и поймите что им нужно. Менторы и жюри — это и есть Ваши заказчики и только они знают свои проблемы, которые Вы можете помочь им решить.

Наша компания-спонсор занимается логистикой по всему миру. Они транспортируют около 400 тысяч машин в год и эти машины не всегда удачно переживают транспортировку. Косметические и реальные повреждения машин определяются автоматизированной системой при каждом их перемещении. Но после этого они никак в дальнейшем не обрабатываются.

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

Реализация

Команда у нас подобралась то, что нужно. Особо не договариваясь, мы занялись реализацией идеи. Хлоя за пару часов набросала дизайн, я начал писать код и вложился где-то в 6 часов. Инженеры по данным принялись за поиски нейронных сетей и собственно данных. Маркетолог и сейлз начали ожесточенный спор о нашей целевой аудитории и что мы продаем.

По началу я ошибочно считал, что от нас требуется полностью рабочий продукт — хотя бы с минимальным набором работающих фич, парой запросов в сеть, сервером, реальной обработкой изображений машин и т.д. Все это выглядело как работа на несколько недель в нормальном темпе, но я был почти уверен, что смогу закодить это все за остававшиеся 20 часов, пожертвов Clean Architecture и Best Practices.

Но меня ожидал неприятный сюрприз — запросы к Firebase падали по таймауту внезависимости от того использовал я Wi-Fi хакатона (думаю проблемы из-за кол-ва участников) или розданный с телефона интернет (возможно проблемы из-за покрытия окон и стен внутри здания). Просидев больше получаса я уже собирался ехать домой и писать код там, но перед уходом я все-таки решил рассказать о проблеме организаторам.

На столе творился полный беспорядок — ноутбуки, зарядки, пакеты, блокноты и еда

Их ответ был для меня открытием. Вот наш условный диалог:
— У меня запросы к Firebase с вашего Wi-Fi не доходят, — говорю я.
— А зачем тебе Firebase?
— Ну сервер же какой-то нужен для хранения и обработки данных?
— Парень, у вас будет 1 минута на презентацию. Ты серьезно думаешь, что вам нужен сервер?

В этот момент я прозрел и понял, что все что нужно сделать это UI с переходами. Но даже не смотря на это я все-таки добавил хотя бы локальную базу данных (Room + LiveData) и написал основную логику. Хотя этого всего конечно не было видно на итоговом демо.

Подготовка презентации

Ночью никто из нас не спал, все работали. Я закончил к 7 часам утра и дальше просто пытался не мешать. К нам еще несколько раз подходили менторы и жюри (все большими группами) и просили рассказать идею, что мы и делали. Дэвид (наш сейлз) отлично с этой целью справлялся и мы были почти уверены в своей победе.

Результаты работы необходимо было представить в виде презентации сделанной посредством Ideation Platform. По сути презентация — это сайт, получившийся в итоге загрузки различной информации через CMS. В перечень необходимых данных входило:

  • Название команды.
  • Название проекта.
  • Краткое описание проекта.
  • Пошаговое описание основного флоу.
  • Слайды.
  • Макеты.
  • Состав команды.

Так выглядит верхушка страницы нашего проекта на Ideation Platform

Все проекты нашей номинации можно глянуть здесь. А презентацию нашего проекта здесь.

Питч

Завершающим этапом любого хакатона является питч — очень короткая презентация, на которой Вас ждут аплодисменты, если вы просто уложитесь в отведенное время. В нашем случае это была всего минута. За минуту Вы должны успеть рассказать о проблеме, ее решении и сделать демо. Из 60-ти команд в выделенное время вложились меньше половины, но наш питч занял всего 50 секунд — я переключал слайды и показывал демо, а Дэвид говорил.

Проверка оборудования перед началом

После всех питчей судьи ушли на голосование и проголосовали ... не в нашу пользу, к сожалению.

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

Выводы

Первое о чем хочется сказать это огромная разница в мышлении между нами (вчерашним СССР) и европейцами. Мои сокомандники всерьез думают о том, чтобы продвигать идею и искать инвесторов. При том, что идея не уникальна и не сложна в реализации. Мне же хочется чтобы меня не трогали. Мышление у нас такое, не привыкли мы делать бизнес, нам нужно чтобы сказали что делать и как, и когда, и главное сколько заплатят :(

Из положительных моментов хакатона:

  • Уникальный опыт работы в команде незнакомых людей.
  • Переосмысление важности каждой профессии.
  • Новый взгляд на презентацию идей.
  • Бесплатная еда.

Из негативных моментов:

  • Поверхностность демо (только пользовательский интерфейс, чтобы показать главные функции).
  • Темп (30+ часов без сна).
  • Хаотичность работы.

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

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Подписаться на комментарии