OTA Search — команда нового поиска для Aviasales OTA. В обычном метапоиске мы получаем от партнёров готовые билеты, а OTA может собрать предложение самостоятельно: например, объединить сегменты Москва — Стамбул и Стамбул — Пхукет в один маршрут Москва — Пхукет.
Один пользовательский запрос может породить несколько поисков и собрать до 100 тысяч вариантов. Нужно быстро скомбинировать сегменты, отфильтровать лишнее, проскорить и отранжировать результаты, добавить нужные услуги и не положить API поставщиков лишними запросами. Новый Search уже в A/B-тесте: его основное ядро переписано со старого .NET-монолита, но продукт и архитектура ещё молодые, поэтому впереди много решений вокруг алгоритмов, кэширования, real-time-обработки и поискового пайплайна.
Чем предстоит заниматься
- разрабатывать и поддерживать Go-сервисы;
- брать задачу целиком в пределах своего scope: разобраться в проблеме, провести research, спроектировать решение, реализовать его и довести до продакшена;
- работать с внешними и внутренними API, кэшами, очередями и данными — следить, чтобы всё быстро отвечало, не терялось и выдерживало нагрузку;
- искать узкие места, улучшать производительность и надёжность сервисов, разбираться с алертами и не бояться заглянуть в инфраструктуру;
- общаться с продуктовыми, платформенными и клиентскими командами, договариваться об интеграциях и помогать друг другу запускать фичи;
- заниматься техдолгом и улучшать архитектуру там, где это действительно помогает продукту, а не просто делает код красивее;
- приносить на ретро мемы.
Мы ждём от вас
- уверенное владение Go и опыт разработки backend-сервисов в продуктовых IT-компаниях от четырех лет;
- самостоятельность на уровне не ниже крепкого middle: умение взять ограниченную часть продукта или сервиса, спроектировать её и довести до работающего результата;
- понимание архитектуры внутри сервиса: как разделить ответственность компонентов, организовать интеграции и учесть corner cases;
- хорошее понимание OPS-части — deployment, базовых сущностей Kubernetes, Linux, мониторинга и troubleshooting;
- опыт работы хотя бы с частью нашего технического контекста: Kafka, базами данных, кэшированием, highload или внешними API;
- готовность задавать вопросы и отвечать за качество результата;
- способность быстро разбираться в незнакомом стеке и продуктовом контексте.
Что мы предлагаем
- в любой точке мира: не привязываемся к локации, платим в долларах, любим путешествовать;
- без бюрократии: удобные процессы здорового человека, горизонтальные и открытые коммуникации, быстрое обсуждение идей и принятие решений;
- компенсируем: ДМС, психотерапию или иностранные языки, занятия спортом и больничный;
- на райском острове: можно работать на Пхукете с видом на океан.