Go Developer (All teams)

Aviasales·Удалённо·Удалённо·3 нед. назад

Сейчас мы ищем Go-разработчиков сразу в три команды. Смело откликайся, если тебе интересна хотя бы одна из них, и напиши в сопроводительном письме, какое направление нравится больше.

Лучшую для тебя команду обсудим и выберем на первом собеседовании :)

  • Prices — backend-команда, которая знает о ценах на авиабилеты почти всё. Мы строим платформу для сценариев, где нужно быстро показать билет или цену без запроса к партнёрам в real time: в календаре цен, подборках и горячих билетах, поиске по соседним датам, истории изменения стоимости и других продуктовых фичах.
    Если сильно упростить, Prices — это билетные кэши и инфраструктура вокруг них. Здесь много работы с highload, большими объёмами данных, аналитическими запросами и разными моделями хранения. Именно мы решаем, что положить в ClickHouse, а что — в KeyValue, как быстрее отдавать данные, дешевле их хранить и помочь продуктовым командам запускать новые сценарии без необходимости каждый раз заново разбираться во всей платформе.
  • OTA Search — команда нового поиска для Aviasales OTA. В обычном метапоиске мы получаем от партнёров готовые билеты, а OTA может собрать предложение самостоятельно: например, объединить сегменты Москва — Стамбул и Стамбул — Пхукет в один маршрут Москва — Пхукет.
    Один пользовательский запрос может породить несколько поисков и собрать до 100 тысяч вариантов. Нужно быстро скомбинировать сегменты, отфильтровать лишнее, проскорить и отранжировать результаты, добавить нужные услуги и не положить API поставщиков лишними запросами. Новый Search уже в A/B-тесте: его основное ядро переписано со старого .NET-монолита, но продукт и архитектура ещё молодые, поэтому впереди много решений вокруг алгоритмов, кэширования, real-time-обработки и поискового пайплайна.
  • Passenger Experience – сопровождает пользователя после покупки билета: напоминает, когда пора в аэропорт, показывает терминал, стойки регистрации и выход на посадку, предупреждает о задержках и отменах и помогает добраться до багажной карусели после прилёта.
    Мы получаем статусы рейсов от внешнего поставщика, но не показываем их как есть: валидируем данные, дополняем их информацией из заказа и применяем собственные бизнес-правила. Сейчас развиваем статусы в реальном времени, онлайн-регистрацию, офлайн-доступ к поездкам, информацию об аэропортах, интерактивные карты и гайды по пересадкам. Большую часть продуктовой логики переносим на backend, чтобы выпускать изменения без ожидания релизов мобильных приложений.

Чем предстоит заниматься

  • разрабатывать и поддерживать Go-сервисы в одном из трёх направлений;
  • брать задачу целиком в пределах своего scope: разобраться в проблеме, провести research, спроектировать решение, реализовать его и довести до продакшена;
  • работать с внешними и внутренними API, кэшами, очередями и данными — следить, чтобы всё быстро отвечало, не терялось и выдерживало нагрузку;
  • искать узкие места, улучшать производительность и надёжность сервисов, разбираться с алертами и не бояться заглянуть в инфраструктуру;
  • общаться с продуктовыми, платформенными и клиентскими командами, договариваться об интеграциях и помогать друг другу запускать фичи;
  • заниматься техдолгом и улучшать архитектуру там, где это действительно помогает продукту, а не просто делает код красивее;
  • приносить на ретро мемы.

Мы ждём от вас

  • уверенное владение Go и опыт разработки backend-сервисов в продуктовых IT-компаниях от четырех лет;
  • самостоятельность на уровне не ниже крепкого middle: умение взять ограниченную часть продукта или сервиса, спроектировать её и довести до работающего результата;
  • понимание архитектуры внутри сервиса: как разделить ответственность компонентов, организовать интеграции и учесть corner cases;
  • хорошее понимание OPS-части — deployment, базовых сущностей Kubernetes, Linux, мониторинга и troubleshooting;
  • опыт работы хотя бы с частью нашего технического контекста: Kafka, базами данных, кэшированием, highload или внешними API;
  • готовность задавать вопросы и отвечать за качество результата;
  • способность быстро разбираться в незнакомом стеке и продуктовом контексте.

Что мы предлагаем

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

Другие вакансии Aviasales