О компании
Distribusion — ведущий мировой маркетплейс наземного транспорта. B2B-платформа соединяет операторов автобусов, поездов и паромов в более чем 70 странах с крупнейшими онлайн-ритейлерами, включая Google Maps и Booking.com. За последний год компания выросла в 10 раз. Поддержка четырёх ведущих венчурных фондов (TQ Ventures, Creandum, Northzone, Lightrock), недавний раунд Series C на $80 млн.
Задачи
- Создание клиентской системы расписания транзита, обрабатывающей сотни тысяч отправлений автобусов ежедневно. Система обслуживает сотни тысяч путешественников и используется сотнями операторов, включая команды операций, менеджеров по доходам и планировщиков.
- Создание бэкенда бронирования билетов с распределением мест в автобусах. Разработка умных стратегий распределения для максимального заполнения мест, обработка сложных сценариев перераспределения: замена транспортных средств, объединение автобусов, дополнительные рейсы.
- Создание системы управления доходами, динамически устанавливающей цены на места в зависимости от времени до отправления, спроса и остатка мест. Поддержка ценообразования, контролируемого перевозчиком, A/B-тестирования и автоматических алгоритмов ценообразования.
- Развитие слоя трансформации данных для расписаний, бронирований и доходов. Проектирование надёжных моделей, инкрементальных пайплайнов и понятных семантических определений на основе реальных операционных данных.
- Повышение качества данных за счёт тестирования, контрактов, проверок свежести и мониторинга, чтобы проблемы обнаруживались автоматически, а не стейкхолдерами.
- Улучшение процессов разработки: CI, ревью PR, локальное тестирование и релизные процессы, обеспечивающие быструю итерацию.
- Взаимодействие со стейкхолдерами из операций, планирования и доходов. Превращение неоднозначных задач в чёткие требования, оспаривание допущений, согласование решений с реальными ограничениями.
- Внедрение улучшений в инструментах и практиках, включая AI-ассистированную разработку, подходы к тестированию и масштабируемые self-service возможности.
Условия работы
- Берлин и гибридный формат: главный офис в Берлине, команда часто встречается.
- Удалённо: компания remote-first, команды распределены по миру.
Требования
- Несколько лет опыта разработки и эксплуатации бэкенд-сервисов на Python, с ответственностью за весь жизненный цикл: проектирование, реализация, деплой, мониторинг и поддержка.
- Проявленный ownership-подход, способность самостоятельно вести проекты, управлять конкурирующими приоритетами и вносить вклад в несколько систем и инициатив.
- Глубокое понимание распределённых систем и приложений, работающих с большими данными. Практические знания моделей консистентности, конечных автоматов, асинхронных процессов и событийно-ориентированных архитектур.
- Экспертиза в базах данных: управление транзакциями, гарантии ACID, стратегии индексирования, оптимизация запросов, блокировки, партиционирование и шардирование. Понимание влияния дизайна базы данных на производительность и надёжность в масштабе.
- Опыт создания надёжных распределённых систем с использованием паттернов: outbox, идемпотентность, ретраи, событийная консистентность. Уверенное рассуждение о режимах отказа и поведении системы под нагрузкой.
- Сильные основы программной инженерии: проектирование API, стратегии тестирования, наблюдаемость, отладка, оптимизация производительности, поддержка продакшн-систем.
- Умение превращать неоднозначные бизнес-требования в прагматичные технические решения, понятно объяснять архитектурные компромиссы, ограничения и варианты реализации техническим и нетехническим стейкхолдерам.
- Готовность оспаривать требования, предлагать альтернативные подходы, выявлять возможности снижения сложности при максимизации бизнес-эффекта.
- Продуктовое мышление: вклад в техническое направление, влияние на продуктовые решения, участие в определении будущего развития платформы.
- Свободный английский, письменный и устный. Комфортная работа в распределённой команде в нескольких часовых поясах, предпочтение чёткой письменной коммуникации и асинхронным процессам.