Backend

Backend Team Lead (Air) Full-time

О компании и команде

Ostrovok.ru — travel-tech компания, создающая платформы онлайн-бронирования отелей, авиабилетов и других услуг как для индивидуальных путешественников, так и для корпоративных клиентов и тревел-агентств.
Наши бренды: Ostrovok.ru, B2B.Ostrovok.ru, Ostrovok.ru Командировки. Мы развиваем проекты как в России, так и за рубежом.

Команда Air развивает систему бронирования авиабилетов, которой пользуется треть наших b2b клиентов: турагентств и компаний с командировками.
Мы ищем тимлида, который сможет наладить процессы, достроить команду и провести её через рефакторинг в светлое будущее.

Что за команда

У нас уже есть 2 бэкендера, которые вышли три месяца назад. Кроме них в команде: продакт, 2 проджекта, 3 специалиста техподдержки, лид-QA и ещё три тестировщика, фронтендер и дизайнер, которого подключаем при необходимости.
В таком составе работаем над задачами и пытаемся построить прозрачные легковесные процессы: чтобы поменьше встреч — и побольше возможностей подумать, что-то закодить или спроектировать и поставить ценность.

Что за продукт

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

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

Поэтому мы настроены почти целиком её переписать.

В процессе рефакторинга хотим собрать систему в один сервис со стройной модульной структурой внутри — чтобы в моменте было легче поддерживать и развивать. Направление бизнесово генерит много выручки, но работает в лёгкий минус. Хочется сначала поправить юнит-экономику, чтобы уже активно привлекать новых клиентов или выходить на b2c. Сейчас нагрузка невысокая, потому что пользуются только бизнесовые клиенты — всего 5 запросов в секунду в пике. При этом закладываем, что в будущем должно быть несложно снова выделять отдельные сервисы и, например, масштабировать под нагрузкой.

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

Какой стэк

Все сервисы кроме админки написаны на Golang’е. Базы: Postgres — для данных, Redis — для кэшей и других временных данных, Kafka — для сообщений. Протокол API — REST. Один сервис использует gRPC, но и в нём планируем перейти на REST. Кор-сервис с бизнеслогикой покрыт интеграционными тестами, в остальном таким похвастаться не могу.

Админка написана на Python и Django. Она тоже покрыта тестами, но прямо сейчас они сломаны — разобраться с этим ещё предстоит. Мы планируем от неё тоже отказаться — всю работу с данными перенести в кор-сервис и предоставлять API для фронтовой админке на react-admin или чём-то похожем.

Так же у нас настроен пайплайн в Gitlab CI: собираем проекты в Docker-контейнеры и деплоим Ansible-скриптами на выделенные виртуалки. Ошибки логгируем в Sentry. Остальные логи смотрим в Kibana и Jaeger.

Ожидания от кандидата

Идеальный кандидат на эту позицию:

  • Уже пару лет управлял командой разработки
  • Несколько лет разрабатывал веб-сервисы на Golang’e и знаком с остальным нашим стэком.
  • Сталкивался с проектами на Python.
  • Знаком с бизнесовым доменом бронирования авиабилетов или в доменом путешествий в целом.
  • Нанимал и увольнял других разработчиков.
  • Дизайнил и переделывал сервисы, интеграции и системы.
  • Понимает гибкие методолгии разработки и отдельные практики оттуда.
  • Имеет собственное представление о том, как должен выглядеть хороший процесс разработки и DevEx — и способен донести это представление до других и внедрить его.
  • Владеет английским на уровне B1 и выше: чтобы свободно читать техническую документацию и поддержать разговор о процессе разработки.
  • Любит путешествовать и продукты, которые делает сам.

Если видете пересечение с собой — пожалуйста, откликнитесь на вакансию, и наши заботливые рекрутеры проведут вас через процесс интервью:

  • Посмотрим ваше CV, примеры кода, почитаем статьи и изучим другую информацию, какой поделитесь;
  • Опытные разработчики проведут техническое собеседование на владение языком программирования;
  • Рекрутеры проведут интервью об управленческом опыте и взглядах;
  • Встретимся детальнее обсудить опыт управление людьми и проектирования систем;
  • Встретимся познакомиться и обменяться вопросами с потенциальными коллегами из команды Авиа;
  • Обсудим и утрясём зарплату, дату выхода и прочие условия.

Выглядит объёмно, но вообще можно успеть за 2-3 недели. После каждого этапа обменяемся обратной связью.

Условия работы

  • Комфортный офис в Москве с зонами отдыха, безлимитным чаем/кофе и питанием;
  • Гибридный формат работы: удалённо (из любой страны), из офиса или оба варианта;
  • Гибкий график — мы не требуем в 9:00 быть в сети или в офисе. Можешь начинать работать в комфортное для тебя время;
  • Интересные амбициозные задачи, которые выведут тебя на новый профессиональный уровень;
  • Обучение: семинары, тренинги, конференции. Если ты сам хочешь выступать на конференциях — поможем всё организовать;
  • ДМС;
  • Корпоративный английский, а также скидки на SkyEng;
  • Крутые активности с коллегами: киновечера, викторины, тематические вечеринки, ежегодные выезды на природу, игры в футбол/волейбол;
  • Корпоративные скидки на отели и другие услуги;
  • Молодая активная команда классных специалистов.

Overview

  • Employer: Ostrovok.ru
  • Job Title: Backend Team Lead (Air)
  • Published: 7 months, 3 weeks ago
Apply For This Job