H
HireSeeker
vk

С++ разработчик в группу запросных сервисов

vk · Москва · 4 дня назад

Зарплата не указана

Мы развиваем поисковый саджест, spellchecker и классификацию запросов — сервисы, которые используются почти во всех продуктах VK: Видео, Музыке, Дзене и других направлениях.

Это часть поиска, с которой пользователь сталкивается ещё до выдачи. Когда человек начинает вводить запрос и видит подсказки — работает саджест. Когда система исправляет опечатку и помогает не потерять нужный смысл — в обработке участвует spellchecker. Когда запрос нужно разобрать, нормализовать, выделить в нём важные части и подготовить для дальнейшего поиска — за это отвечает QParser.

Наши сервисы работают под высокой нагрузкой: на каждый из ключевых компонентов приходится порядка 20 000 rps, всё это развёрнуто в нескольких дата-центрах и находится на критичном пользовательском пути. Поэтому для нас важны не только скорость разработки, но и надёжность, наблюдаемость, аккуратная эксплуатация и возможность быстро разобраться в проблемах, если что-то пошло не так.

Сейчас мы ищем backend-инженера уровня middle-senior, который поможет развивать runtime-сервисы команды. Основной рабочий язык — C++: на нём написана значительная часть кода, с которым предстоит работать каждый день. Помимо C++, в стеке есть Python, Java, YQL и внутренние инструменты вокруг данных, мониторинга и эксплуатации.

Нам нужен человек, которому интересно не просто закрывать отдельные задачи, а брать ответственность за важные backend-компоненты: понимать, как они устроены, развивать их, делать полезные изменения и следить за тем, чтобы сервисы уверенно жили в проде.

Задачи

  • Развивать runtime-сервисы и офлайн-процессы саджеста, spellchecker и QParser: писать production-код, дорабатывать существующую логику, реализовывать новые продуктовые и технические фичи
  • Брать в ответственность критичные части backend-логики: понимать, как они работают в проде, какие у них ограничения, где есть риски и что нужно улучшить
  • Участвовать в процессе планирования направлений развития наших сервисов
  • Участвовать в эксплуатации сервисов, развивать инструменты и подходы: деплой, мониторинги, алерты, диагностика проблем, разбор инцидентов и деградаций
  • Работать на стыке с другими частями стека: Python-скрипты, YQL для офлайн-процессов и подготовки данных, Java-компоненты, интеграции с внутренней инфраструктурой
  • Взаимодействовать с продуктами и смежными командами: помогать подключать поисковые сценарии, разбираться в требованиях и доводить продуктовые запросы до результата
  • По желанию и по мере необходимости участвовать в интеграции ML-решений в runtime-сервисы: помогать доводить модели и связанные с ними изменения до production-состояния

Требования

  • У вас есть уверенный опыт backend-разработки на уровне middle-senior
  • Вы хорошо знаете C++ и готовы использовать его как основной рабочий язык
  • Умеете писать production-код и разбираться в уже существующей кодовой базе, быстро погружаться в незнакомую систему, читать чужой код, находить связи между компонентами
  • Есть опыт разработки, поддержки и эксплуатации backend-сервисов в проде
  • Понимаете, как устроены надёжные сервисы: latency, отказоустойчивость, мониторинг, алертинг, диагностика, деплой и откаты
  • Готовы брать ответственность за критичные компоненты, а не только закрывать отдельные задачи
  • Не боитесь работать с разными частями стека: Python, Java, YQL, внутренние инструменты, инфраструктура и офлайн-процессы

Будет плюсом

  • Опыт работы с highload или low-latency сервисами
  • Опыт в поиске, саджесте, spellchecker, query understanding, ranking или других поисковых системах
  • Опыт эксплуатации критичных production-сервисов
  • Опыт работы с мониторингом и алертингом: Grafana, VictoriaMetrics или похожими инструментами
  • Опыт работы с YT/YTsaurus, YQL или другими системами обработки больших данных
  • Опыт разработки на Java или Python
  • Опыт интеграции ML-решений в backend-сервисы
  • Опыт проведения A/B-тестов. Понимание методологии и того, как backend-изменения влияют на продуктовые метрики