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

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

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

Мы развиваем поисковый саджест, 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-изменения влияют на продуктовые метрики

Мы предлагаем

Гибкий график работы
Бонусы и скидки от партнеров
Офис в центре города
ДМС
Профессиональная команда

Формат работы

Офисный
Комбинированный

Уровень

middle
senior

График работы

полный

Поиск

Поиск понимает смысл поисковых запросов при помощи нейросетей, мы используем обширный граф знаний и компьютерное зрение, развиваем рекомендательную систему, детектируем спам и другой вредоносный контент.

Мы предлагаем

Гибкий график работы
Бонусы и скидки от партнеров
Офис в центре города
ДМС
Профессиональная команда

Похожие вакансии

Go-разработчик

Сервисы продуктивности VK Tech
Москва, гибкий

Разработчик инфраструктуры ИБ

Дзен
Москва, Дистанционный

Руководитель команды backend

VK
Москва, гибкий

Старший разработчик Backend

Сервисы продуктивности VK Tech
Москва, гибкий

Go-разработчик

Сервисы продуктивности VK Tech
Москва, гибкий

Backend-разработчик

Сферум
Комбинированный

Руководитель команды

VK
Москва, Дистанционный

Python-разработчик

Социальные проекты
Комбинированный

Go-разработчик в Единый биллинг

Рекламные технологии
Комбинированный

Ведущий Go-разработчик

VK
Москва, гибкий

Руководитель группы разработки

VK Видео
Санкт-Петербург, Дистанционный

Ведущий разработчик Backend

Сервисы продуктивности VK Tech
Москва, гибкий

Разработчик Backend

Сервисы продуктивности VK Tech
Москва, гибкий

Ведущий java-разработчик

MAX
Санкт-Петербург, Дистанционный

Java-разработчик в команду контента

ОК
Санкт-Петербург, Комбинированный

Разработчик С++

Дзен
Москва, гибкий