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

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

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

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

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

полный

Поиск

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

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

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

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

Разработчик в команду единого биллинга

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

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

Облачная платформа VK Tech
Москва, гибкий

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

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

Android-разработчик (C/C++, NDK/WebRTC)

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

DevTools Engineer

VK
Санкт-Петербург, гибкий

Go Developer в команду Сообществ

ВКонтакте
Москва, гибкий

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

Бизнес-приложения VK Tech
Москва, гибкий

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

Поиск
Москва, комбинированный

Разработчик C++ (движок блендинга)

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

Руководитель backend-разработки ядра рекомендательной системы

Рекомендации
Москва, гибкий

Руководитель группы в поиск

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

C++ Developer

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

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

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

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

Облачная платформа VK Tech
Москва, гибкий

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

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

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

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

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

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

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

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

C/C++ разработчик в CDN

Социально значимые сервисы
Санкт-Петербург, офисный