Блог

Как сделать крутой продукт с нуля на part-time: рассказывает команда Godel Recommendations

В Godel существует хорошая традиция: если у тебя есть знакомый профи, который, по твоему мнению, классно впишется в команду, ты можешь порекомендовать его Talent Acquisition менеджерам и через какое-то время получить бонус от компании в случае оффера. До недавнего времени процесс был организован «по-домашнему»: ребята писали письма менеджерам с предложением рассмотреть потенциальных кандидатов. Отслеживать их было неудобно, поэтому возникла идея разработать внутренний продукт, который бы в этом помог.

Сказано — сделано: собрали команду, начали работу. В результате красивый модуль Recommendations вышел в продакшн и занял свое место в GCP (Godel Corporate Portal). Интересно, что ребята работали над ним с нуля в свое свободное от других проектов время. Каким образом были выстроены процессы, что мотивировало команду, как создавали продукт — об этом беседуем с участниками: Sr. Java Software Engineer Сергеем Дворядкиным, Java Software Engineer Лешей Попком и ADC Ксенией Арико из Godel MINSK.

Расскажите, как возникла идея разработать модуль Recommendations

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

Был еще один интересный момент, связанный с технической частью. В Innovation Function поставили задачу проверить, можно ли язык Kotlin, который в большинстве случаев используется для Android разработки, применять на бэкэнде. Мы решили испытать его в «полевых условиях» — при создании модуля.

Как происходил процесс работы над Recommendations? Сколько человек было в команде? 

Ксения: Главная особенность в том, что мы работали в свое свободное время. Над другими модулями команды работают full-time, мы были первыми, кто делал это по собственному желанию. В среднем в команде было около 10 человек, хотя стартовали мы большим количеством людей. Поскольку коммерческие проекты занимали много времени, некоторые участники вынуждены были переключиться на них. Но мы все равно общаемся: после релиза нас поздравили, сказали, какие мы классные. И я рада, что ребята поучаствовали на старте. Позже к нам присоединились коллеги из DevOps дивижена и фронт-энд разработчик.

Как удавалось совмещать клиентские проекты с работой над Recommendations?

Ксения: Все всегда зависит от целей, которые преследуешь. Мы хотели попробовать что-то новое, получить опыт. Это был мой первый проект в Godel: предупредили, что все придется делать с нуля — получился своеобразный челлендж. Я понимала, что, поскольку это part-time работа, построить процессы как в идеальном мире, по всем гайдам не получится. Приходилось много взаимодействовать с командой, подбирая наиболее подходящие решения. Пробуешь одно — оказывается, не работает. Мы обсуждали, как сделать так, чтобы всем было комфортно. Через два-три месяца выстроили удобный для команды процесс.

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

Какие моменты были самыми сложными? Случались ситуации, когда хотелось все бросить? 

Леша: Были сложности с технической стороны. У нас не было DevOps Engineer, и нам приходилось настраивать СICD и кластер самостоятельно. Ни у кого из нас такого опыта не было, а использовалась довольно непростая технология — Kubernetes. Приходилось разбираться и поднимать знания с нуля. Основные сложности возникли при переезде в другой кластер. Спасибо ребятам из GCP, которые предоставили капасити своих инженеров. Те, в свою очередь, помогли с изначальной настройкой и переездом в их кластер.

Сергей: Нам очень помогла дизайнер Алена Борикова: она разработала логотип и переделала внешний вид. Изначально модуль выглядел как таблица, в которой все данные были смешаны, что было не очень удобно. Алена предложила сделать так, чтобы все эффектно разъезжалось, с красиво упакованными деталями и хорошо заметными кнопками.

Ксения: В сложные минуты меня особенно мотивировали горящие глаза ребят, ведь команда и люди — основа успеха любого проекта. Важно делать процессы удобными для всех — я поняла, что могу в этом помочь. Еще большая мотивация появилась, когда я начала видеть результат своих действий. Во многом помогала культура компании, ценности Godel вдохновляют расти и учиться — мы яркий этому пример (смеется).

Расскажите о модуле — где его можно найти, как им пользоваться? 

Сергей: Пользоваться модулем может любой сотрудник Godel. Сейчас Recommendations уже интегрирован в GCP, на лэндинг-странице есть иконка. Заполнив форму, вы рекомендуете своих близких и друзей в качестве кандидатов на открытые вакансии. Форма отправляется в Talent Acquisition дивижен, где ее обрабатывают менеджеры.

Что бы вы взяли на заметку для следующих проектов? Какой опыт оказался самым полезным?

Ксения: Для меня очень важна коммуникация с людьми. Сначала было очень волнительно, но ребята меня здорово поддержали: все были открытые, доброжелательные, заинтересованные в том, чтобы помочь. Я это очень ценю и еще раз передаю всем спасибо! На старте пробовали строить Scrum: я внедряла церемонии, артефакты, которые мы затем адаптировали под нашу работу. С этими знаниями я пришла на клиентский проект. Ребята были моими «подопытными», но все получилось, никто не пострадал (смеется).

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

Здорово, что мы выполнили задачи по Kotlin — мне очень нравится этот язык, во многом из-за него я и присоединился к проекту. Выяснилось, что Kotlin жив, использовать его на бэкэнде можно и нужно — рекомендуем!

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

Какие планы на будущее? Взялись бы за похожий проект с нуля? 

Ксения: Насколько я знаю, уже есть идеи новых проектов. Но пока в ближайших планах довести до конца то, что мы имеем сейчас. Наша первостепенная задача — адаптировать модуль для локаций, ведь везде разные условия. А вообще, мы поняли, что это классно — можно участвовать и дальше.

Леша: Да, однозначно. На достигнутом останавливаться мы не собираемся. Большая часть команды уже изъявила желание участвовать в новом проекте. Это отличная возможность получить дополнительный опыт в новых областях и принести пользу не только себе, но и компании.

Сергей: Нам предстоит еще много работы по Recommendations, есть моменты, которые стоит улучшить: сейчас вносим правки по нюансам, возникающим в процессе использования. То, что в теории казалось удобным, на практике вышло не очень: что-то нужно сделать обязательным, а что-то, наоборот, второстепенным. Хотим, чтобы коллеги получали удовольствие от процесса, могли легко и быстро выполнять свои задачи. Основной фокус на том, чтобы сделать модуль удобным, красивым и понятным.

Я хочу спасибо команде GCP, которая поддерживала нас на протяжении всего процесса, в частности Head of Corporate Products Стелле Роот и Principal.NET Software Engineer Диме Веревкину — они направляли нас в нужную сторону и помогали найти верные решения, когда мы делали ошибки. Все были готовы поддержать в любой момент — внутри и вне команды создали приятный микроклимат. Это очень круто!

Благодарим всех, кто работал на проекте и помогал core команде на разных этапах:

ADC Ксения Арико

BA Аня Бойко

Sr. Java Software Engineer Сергей Дворядкин

Java Software Engineer Леша Попок

Java Software Engineer Галя Пичуха

Java Software Engineer Галя Семашко

Java Software Engineer Ваня Палазник

Java Software Engineer Саша Высоцкий

Java Software Engineer Илья Сиз

Java Software Engineer Дима Муха

JavaScript Software Engineer Леша Коркоза

Jr. DevOps Engineer Катя Морозова

Jr. DevOps Engineer Толя Подлипский

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.