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

Расскажи, чем занимается твоя команда и с каким технологическим стеком вы работаете?

Наша команда отвечает за все виды коммуникаций с пользователями. Это очень широкий спектр: от внешних каналов, таких как email-рассылки, push-уведомления и SMS (включая коды авторизации), до так называемых внутрипродуктовых коммуникаций. Их можно увидеть, как всплывающие окна в приложении или уведомления в личном кабинете. Основная сложность и наш главный фокус — это отправить релевантное для пользователя уведомление. Мы сегментируем пользователей и стараемся делать уведомления персонализированными, чтобы они доходили только до тех, кому действительно полезны, и не беспокоили тех, кого могут раздражать.

Что касается стека, то у нас используются Python+Go, Django, Protobuf, Redis, Postgresql, Clickhouse, Kafka, RabbitMQ, Celery. Из нестандартного для бекэндовых команд — React, Node.js, AntD, эти инструменты используем в разработке админки нашей CRM системы. Так что, можно сказать, мы универсальные ребята.

С какими подразделениями часто взаимодействуете по работе?

Мы взаимодействуем практически со всеми командами в Иви. Продукт хочет донести до подписчиков изменения, бизнес — сообщить важную информацию. Контент и маркетинг хотят рассказать пользователем о новинках. Для анализа всего этого мы постоянно работаем с аналитиками. С дизайнерами мы делаем красивые и удобные всплывающие окна внутри продукта. От саппорта к нам прилетают вопросы пользователей, и мы стараемся на них оперативно реагировать. В корпоративной культуре Иви взаимодействие между командами очень простое и открытое, нет никаких преград, чтобы написать любому человеку в компании, что невероятно упрощает жизнь.

Какими своими достижениями за последний год гордитесь?

Мы очень гордимся нашей CRM-системой. По сути, это no-code решение, которое позволяет очень быстро запускать различные виды коммуникаций и проверять гипотезы.

Она строится вокруг трёх ключевых вопросов любой коммуникации: «Когда?», «Кому?» и «Что?» отправлять.

Когда? У нас несколько сценариев. Это может быть ручной запуск кампании менеджером или запланированная рассылка, например, пятничная подборка новинок. Также есть триггерные отправки — когда пользователь совершает действие, и мы сразу реагируем на событие из брокера. Еще один сценарий — это реал-таймовый расчёт: из сотен активных уведомлений система в момент запроса выбирает самое релевантное для пользователя. Мы даже умеем строить целые диалоги, где текущее уведомление зависит от реакции пользователя на предыдущее.

Кому? Здесь мы используем гибкую систему условий на основе диаграмм. Можно комбинировать проверки: вхождение в сегмент, данные из других сервисов Иви, группы A/B-теста и многое другое. Дополнительно настраивается частота отправок, чтобы не беспокоить пользователей, и система приоритетов, которой в некоторых случаях управляет машинное обучение.

Что? Пользователь видит уже отрендеренный шаблон. Для внешних каналов, это может быть, например, HTML-код письма, а внутри продукта — JSON с текстами, изображениями и действиями, которые нужно отобразить. Шаблоны дают полную свободу в том, как будет выглядеть итоговое сообщение.

Как в команде принято отмечать успехи?

У нас половина команды работает удаленно, поэтому мы не можем часто собираться лично, и наши встречи не всегда строго привязаны к завершенным проектам. Но у нас есть особая традиция — неформальные ретроспективы. На них мы не только смотрим метрики, обсуждаем результаты и успехи, но и обязательно сопровождаем это всё напитками, вкусняшками и настольными играми. Мы всегда подключаем удаленных коллег, и они с нами играют в электронные версии настолок. Любимая игра команды — «Codenames».

Какой был самый большой факап? Чему он научил?

У одного из наших факапов даже есть название — «Красная точка». Год назад мы полностью переписывали логику раздела «Уведомления» в продукте. После релиза пользователи начали жаловаться в саппорт: они заходили в раздел, просматривали все сообщения, но красная точка на иконке колокольчика, сигнализирующая о непрочитанных сообщениях, не пропадала. Ошибка заключалась в следующем: при определенных условиях одно из сообщений не рендерилось и не отображалось для пользователя, но система все равно считала его непрочитанным и упорно показывала точку. Мы долго не могли воспроизвести баг, поиск проблемы занял несколько дней. Этот болезненный урок научил нас тому, насколько важно с самого начала продумывать детальный мониторинг, логирование и инструменты диагностики, которые позволяют быстро ловить такие плавающие и неочевидные баги.

Как относишься к экспериментам и инициативам от сотрудников?

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

Один из примеров  проявления инициативы — история с инструментом для тестирования наших сервисов ProxyMock. Его создал один из наших разработчиков. Решение оказалось удачным, сейчас ProxyMock используют и другие команды Иви. А чтобы поделиться опытом со всеми, он оформил статью на Хабр и выложил код в открытый доступ на GitHub.

Как ты поддерживаешь профессиональный рост сотрудников?

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

Как стать частью такой команды?

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

5 советов, как стать самой крутой командой от Лены Еше и больше о жизни сотрудников Иви — в телеграм-канале!

Комментарии (0)