Туту — сервис путешествий. У нас есть расписание рейсов, билеты на поезда, самолёты, автобусы, электрички и аэроэкспрессы. А ещё много отелей, туров и экскурсий.
Мы команда выдачи, в Туту мы отвечаем за этап подбора транспорта и места проживания для клиента — это поезда, самолёты, автобусы и отели. Как только пользователь выбирает откуда, куда и когда он хочет поехать, он сразу же попадает на выдачу, поэтому наши страницы — самые посещаемые по всему сайту Туту, а ежемесячная аудитория превышает 15 миллионов пользователей. Мы — кроссплатформенная команда и помогаем подобрать людям наилучший для них вариант как на вебе, так и в приложении, где у нас можно полностью купить себе путешествие (билеты + отели).
Со стороны продукта и клиента у нас следующие интересные и амбициозные цели:
— Переосмыслить форму поиска билетов, сделать её единой для всех продуктов и самой удобной на рынке, а возможно, создать новый стандарт качества в тревел-техе.
— Проработать второй важный шаг для всех пользователей — этап выдачи: фильтры, мультитранспортные предложения и т.д.
— Дать возможность удобного планирования поездки или путешествия пользователям, используя различные инструменты.
Кого мы ищем
Сейчас в команду нам нужен разработчик уровня Senior. Вам предстоит разрабатывать новые фичи, дорабатывать существующие, следить за работоспособностью сервисов, иногда создавать новые и прорабатывать архитектуру их взаимодействия.
Немного про стек
- Набор микросервисов на Go, которые разворачиваются на внутренней платформе (Openshift, Kubernetes, Docker).
- Используем MongoDB как одну из основных баз, а MariaDB, PostgreSQL при необходимости реляционных решений.
- В остальном — Elasticsearch, Redis, ClickHouse, Kafka.
Основные задачи
- Разработка бекэнд-сервисов для работы страниц выдачи и новой функциональности на них.
- Повышение конверсии и снижение процента отказа на этапе выбора билетов или места проживания за счёт развития существующего и добавления нового функционала.
- Покрытие кода тестами (юнит, интеграционные, е2е) в соответствии с внутренними требованиями.
- Оптимизация производительности создаваемых решений в соответствии с внутренними требованиями.
- Активное участие в решении проблем работы сервиса, реакция на инциденты.
От вас нужно
- Опыт коммерческой разработки веб-приложений на Go от 4 лет.
- Опыт работы с сервисными архитектурами.
- Опыт работы с MongoDB.
- Опыт проектирования архитектуры приложения, взаимодействия сервисов и описания интерфейсов (REST openapi, grpc protobuf).
- Понимание CI/CD, Docker, Kubernetes.
- Базовые знания по unit-тестированию.
Про команду и рабочий процесс
- Всего в выдаче 17 человек: продакт оунер, 4 frontend-разработчика, 2 дизайнера, 2 разработчика iOS, 2 разработчика Android, 2 тестировщика, 3 продуктовых и 1 системный аналитик.
- Работаем по двухнедельным спринтам, с дейликами, ретро, демо, планированием и вот этим всем.
- Продакт оунер ставит задачи в формате юзер-стори всей команде. И команда совместно уточняет и прорабатывает требования. Часть таких требований разбираем всей командой на PBR-ах, часть уточняет системный аналитик с дизайнером, и иногда часть требований прорабатывают сами разработчики.
- Разработчики пишут новый код и покрывают тестами по пирамиде тестирования. Стараемся писать больше юнит-тестов, чем интеграционных и e2e. QA-инженер обучает практикам тестирования, помогает составлять тест-кейсы, подключается к проверке выпускаемых задач, пишет интеграционные- и e2e-тесты в случае необходимости, участвует в развитии подходов обеспечения качества.
- Мы делаем большой акцент на самостоятельность и зрелость команд, поэтому и ответственность за качество финального продукта лежит на всех участниках команды. Мы ценим работу в команде, самостоятельность, умение давать обратную связь и получать её.