В конце сентября мы провели свой первый внутренний хакатон. Для участия в хакатоне выбрали команду мобильной разработки – первопроходцев во всех новшествах и идеях компании.
Под катом рассказываем ̶к̶а̶к̶ ̶м̶ы̶ ̶д̶о̶ ̶э̶т̶о̶г̶о̶ ̶д̶о̶к̶а̶т̶и̶л̶и̶с̶ь̶, что мы получили от проведения хакатона
Зачем?
Мы часто выступаем спонсорами хакатонов, проводимых в Казахстане, а сами ни разу его не организовывали. Начать решили с внутреннего хакатона для команды мобильных разработчиков.
Изначально целью хакатона было закрытие накопившегося технического долга на трех проектах. Но по итогам обсуждений с командой решили дать разработчикам возможность реализовать идеи, которые им так хотелось, но на которые среди текущих задач не находилось времени. Таким образом, с одной стороны, перед ребятами стояла свобода выбора, с другой – необходимость и целесообразность предложенных решений для бизнеса.
О начале объявили за две недели. Оставшееся время было отдано на придумывание идей.
Темой стали фичи, направленные на развитие и поддержку ключевых показателей приложений. Ряд задач предоставили менеджеры продуктов (kolesa.kz, krisha.kz, market.kz). Не обошли стороной и момент улучшения жизни команде тестирования и предложили ряд фич, которые позволят быстрее настраивать тестируемое приложение под определенные требования без задействования разработчиков.
Призы – 100, 50 и 30 тысяч тенге за первые три места.
Было решено провести хакатон в офисе, но не в рабочее время, чтобы участники не отвлекались на текущие задачи, а проходящие мимо зеваки из других отделов не отвлекали от погружения в процесс, но терять выходные тоже не хотелось. Общим решением отсчет суток на хакатон начался в пятницу вечером после рабочего дня. (И это было не самое хорошее решение, но об этом мы узнаем чуть позже.) С другой стороны, так мы оставили хотя бы один выходной день для восстановления сил.
В мероприятии приняли участие 14 разработчиков, которые поделились на команды по 2-3 человека. Итого сформировалось шесть команд – по три на каждую из платформ.
Мы переместили штаб хакатона в work-кафе, куда ребята спустили всю необходимую технику. Кто-то взял не только свои ноутбуки, но и свои рабочие стулья и всё необходимое. Притащили кучу пуфиков, мешков, запаслись энергетиками – различными вкусностями, фруктами.
Постепенно офис стал напоминать штаб по разработке инновационных проектов, когда компания активистов, собравшись на нижнем этаже, работает над созданием чего-то важного. И работа закипела. Кто-то расписывал на доске принцип работы предложенного функционала, кто-то делал перерыв на чашечку кофе и обсуждение идеи в неформальной обстановке. На фоне кипящей работы желающие отдохнуть могли посмотреть фильмы на проекторе, установленным рядом с рабочими местами.
Завершение работы и определение победителей
Ближе к шести вечера субботы работа над задачами была закончена, и команды начали подготовку к презентации и защите своей работы перед судьями. В качестве судей выступали ведущие разработчики с обеих платформ и CEO компании. Также у каждой из команд была возможность отдать один балл той команде, чья работа им понравилась больше всего.
Критериями оценки были:
- Полезность разработки для бизнеса.
- Законченность функционала.
- Возможность внедрения в текущих процессах.
Что мы получили от хакатона мобильной разработки:
- Виджет для “Маркета”: быстрый доступ к основным разделам приложения, моментальное чтение последнего входящего сообщения.
- Конфигурируемые окна уведомлений, которые соответствуют новой дизайн-системе всех трех приложений.
- Ускорили сборки проектов в два раза — настроили Continuous delivery.
- Реализовали единую авторизацию на всех наших продуктах.
- Подняли экспериментальный API, отвечающий за фронтенд на мобильных устройствах, на языке Kotlin.
- Попробовали распознать VIN-код с техпаспорта с помощью ML Kit.
- Попробовали внедрить Instant App для приложения Market.kz.
- Функционал новых возможностей push-уведомлений в iOS 12 для оказания платных услуг напрямую из пуша.
- Скроллинг фотографий и возможность совершить звонок продавцу в VIP-объявлениях в результатах поиска.
- Рефакторинг и вынос в модуль экрана конфигурации endpoint-ов для упрощения тестирования.
Что с этим всем будет дальше? Некоторые из задач уже активно применяются в работе тестировщиками мобильных приложений, за что они нам очень благодарны (+100 в карму!). Самые удачные из проектов в ближайшее время будут доработаны, внедрены и станут доступны для наших пользователей.
Победителями хакатона стали: iOS-команда, разработавшая функционал новых возможностей push-уведомлений в iOS 12 для оказания платных услуг напрямую из пуша и Android-команда, работающая над внедрением Instant App для приложения Market.kz
Вывод, который мы сделали
Почему старт вечером в пятницу был не самым хорошим решением? Если подсчитать в общей сложности, то ребятам пришлось не спать 36 часов. Для кого-то это оказалось по силам, но некоторые все-таки вынуждены были отдохнуть и сделать небольшой перерыв в работе. В следующий раз мы будем рассматривать другие варианты выбора времени проведения хакатонов.
Тем не менее мы считаем проведение хакатона полезным опытом для нашей команды. И вместе с тем пользу получил каждый в виде единения, ответственности и классного мерча!