Привет! Меня зовут Юля, я разработчик из iOS-команды viju. Вместе с моими коллегами мы стараемся писать код без багов, но T9 все равно почему-то иногда ругается на меня, заменяя первую букву в моем имени на “Б”…
“Страшно, аж жуть”
Хакатон - это та штука, в которой мне давно было интересно, но некогда принять участие. Поэтому внутренний корпоративный хакатон был для меня тем, что нельзя было пропустить.
Хотя признаюсь, что сначала я сомневалась. Страшно было облажаться перед коллегами. Но у нас в компании атмосфера экологичная, поэтому я решилась. Тем более, распределяющая шляпа не смогла выбрать для меня одну роль и выдала мне сразу две: продакта и iOS-разработчика. Для меня всё свелось к трём кульминациям: попробовать себя как продакт, прокачаться как разработчик и проверить команду на прочность.
Хакатон глазами продакта
Подготовка к хакатону у нас началась со сбора идей для задач за пару месяцев до мероприятия. Задачи старались выбирать такими, чтобы в рамках одного дня можно было получить прототип фичи и оценить ее работоспособность.
На этот момент я проходила обучение продакт-менеджменту, до окончания обучения оставалась еще пара месяцев, но я все же постучалась к продактам с инициативой поработать в их команде.
Как пользователю, мне давно хотелось в нашем iOS-клиенте иметь возможность логиниться по лицу. Поэтому я предложила добавить фичу входа по Face ID/Touch ID и взяла в проработку эту задачу под наставничеством опытного продакта.
Скажу честно, со стороны казалось, что проработка задачи - процесс куда проще, чем он оказался на деле. Самым легким было описать текущее состояние авторизации (AS IS) и ожидаемого флоу, который мы получим с новой фичей (TO BE).
Но продакты ведь не делают фичи ради фичей. За каждой фичей стоят метрики. И вот определиться с ним было сложнее: признаюсь, что большинство моих идей пошло в топку, но обсуждать их с наставником Машей всё равно было очень полезно.
В итоге мы собрали адекватное описание фичи, после чего к проработке подключился дизайнер, сократив флоу ещё больше.
Вступительные экзамены
В день хакатона я сняла шапочку продакта и надела свою привычную шапочку iOS-разработчика.
Хакатон начался с формирования команд. Команды у нас были кроссплатформенные: распределяющая шляпа закинула в каждую по разработчику с разных платформ.
По её воле я оказалась в команде «Слизерин» вместе с коллегами с веба и Android TV. Каждому из нас предстояло реализовывать одинаковые задачи, но на своей платформе.
Созвонившись и обсудив сложность и последовательность выполнения задач, мы разошлись по своим комнатам IDE.
Хороший разработчик должен уметь писать плохой код
Странное утверждение на первый взгляд. Но в условиях жёстких сроков нужно уметь выключать перфекционизм и художественно работать с костылями.
Наш iOS-проект в процессе переезда с UIKit на SwiftUI и замены VIPER на MVVM. У нас неплохо получается: около 80% приложения уже на новом фреймворке. Но оставшиеся 20% - это легаси. Они как мандрагоры: стоит тронуть - и весь Хогвартс вздрогнет. Особенно громко визжит Главная страница, которая собрала в себя все архитектурные подходы, когда-либо бывшие в проекте.
Конечно, у нас в планах полностью отказаться от этой «магии» ради экономии ресурса волшебных палочек. Но пока руки не дошли. И именно на хакатоне нам выпало бинго: все три задачи были как раз на этой Главной.
Сдавайте ваши работы!
В финале хакатона нам нужно было «продать» свои творения. Мы решили действовать по-простому: каждый презентовал свою часть работы. Это оказалось не лучшим форматом для кроссплатформенных фичей, но у нас не было выбора - мы допиливали всё до последнего момента. Пока коллеги показывали веб и Android TV, я на лету собирала билд для iOS.
Соседняя команда привлекла продакта для презентации, и это было эффектно. Но мы зато прокачали командную работу и выдержку.
Результаты
Школу магов наш факультет окончил с серебряной медалью, заняв второе место. Бонусом стали дополнительный выходной день и денежный приз каждому участнику.
За один день мы собрали MVP трёх фичей на нескольких платформах. После хакатона две из них уже живут на проде - конечно, в доработанном виде. Но хакатон доказал, что идея рабочая.
Кроме того, такие условия - отличный способ узнать коллег по-настоящему. Это тот случай, когда нужно быть, а не казаться. После хакатона мне стало проще ориентироваться в продуктовых постановках, а командные коммуникации стали эффективнее.
Вообщем, оборотное зелье позволило мне успеть побыть в двух ролях одновременно. А сама магия хакатона в том, что даже один день в такой атмосфере даёт колоссальный опыт и энергию для работы дальше.