Привет! Мы команда Туту. У нас сервис путешествий, мы каждый день отправляем флот самолётов, несколько поездов и много автобусов. Сервис помогает путешественникам с билетами, расписаниями, отелями, арендой авто и всем прочим для поездок.
Среди всего этого есть расписания электричек и покупка билетов на часть этих самых электричек. Там около 630 тысяч пользователей дневной аудитории, и это лидирующий продукт рынка. Это очень точное расписание, которым пользуются сами машинисты поездов, плюс вокруг расписания есть модели расчёта опозданий, которые по изменению движения одного поезда пересчитывают в реальном времени ожидания для всех других с учётом архитектуры железных дорог на участке.
Сейчас мы в поиске Middle/Middle+ разработчика, чтобы усилить текущую команду.
Немного про стек
- Монолит: PHP 7.2 монолит, собственный framework (там наши крафтовые библиотеки), MariaDB.
- Собственно, сервисы: PHP > 7, Go.
- CУБД: MariaDB, MongoDB, Redis (кэш и хранилки временные), ClickHouse для дата-команды.
- Очереди: RabbitMQ, Kafka.
- Соотношение языков в работе: Go — 50%, PHP — 50%.
Основные задачи
- Разобраться в проекте и кодовой базе.
- Решение задач команды с высоким качеством и в установленные сроки.
- Проработка решений, ориентированных на долгосрочные перспективы.
- Создание общих инструментов и компонентов, полезных для всей компании.
- Покрытие кода тестами (юнит, интеграционные, e2e) в соответствии с внутренними требованиями.
- Можно взять и лидировать лучший сервис электричек в известной части галактики :)
От вас нужно
- Опыт коммерческой разработки веб-приложений на Go от 3 лет, готовность работать с PHP. Опыт PHP разработки будет плюсом.
- Опыт работы с монолитными и микросервисными архитектурами.
- Опыт работы с MongoDB/MySQL/Postgres.
- Понимание CI/CD, Docker, Kubernetes.
- Базовые знания по unit-тестированию.
- Способность работать в кросс-функциональной Scrum-команде.
Про команду и рабочий процесс
- Состав команды: техлид ЖД направления, продакт менеджер, 3 Backend, Frontend, 2 мобильных разработчика (под iOS и Android), 2 QA, дизайнер и scrum-мастер.
- Живём по Скраму. Product owner в процессе регулярных планирований спринта рассказывает, чего хочется достичь в продукте. Дальше приоритезация беклога. Потом цель спринта. Задачи трекаем в Jira, документацию ведём в Confluence. Из встреч есть ежедневный утренний стендап, Sprint planning, PBR — обсуждение/прояснение задач, Sprint review. Спринты по 2 недели.
- Ревью проходит совместно с командой ж/д, между всеми backend-разработчиками. Для слияния кода в мастер-ветку требуется как минимум 2 апрува от backend-разработчиков и 1 от мейнтейнера библиотеки.