H
HireSeeker
яндекс

Разработчик на C++ в команду DataCamp Маркета

яндекс · 26 мая

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

DataCamp — мастер-система данных партнёров Яндекса в области электронной коммерции. Она получает, хранит и обрабатывает товарные предложения B2B-партнёров и связанные с ними сущности, поставляет данные в B2C-системы и поддерживает интерфейс партнёрского каталога.

DataCamp состоит из более чем 25 микросервисов на C++, развёрнутых в облаке в нескольких дата-центрах Яндекса и взаимодействующих через очереди сообщений. Мы разрабатываем сервисы разных типов: как stateful, так и stateless, потоковые и синхронные API на базе userver.

Для надёжного хранения данных используются динамические таблицы YTsaurus. Система хранит более 4 миллиардов товарных предложений нескольких сервисов Яндекса, включая Маркет, Еду и Лавку. Общий объём данных измеряется сотнями терабайт, а входной поток превышает 100 МБ/с.

Вам предстоит развивать высоконагруженную распределённую систему, работать над её эффективностью, надёжностью и масштабируемостью.
Здесь даже снижение потребления ресурсов на 5% может экономить сотни CPU, гигабайты оперативной памяти и терабайты дискового пространства.

Проектирование и разработка высоконагруженных сервисов

Вам предстоит создавать новые и развивать существующие распределённые сервисы с учётом высоких требований к отказоустойчивости, скорости обработки данных и предсказуемости работы под нагрузкой. Нужно находить баланс между простотой реализации, производительностью, надёжностью, стоимостью разработки и эксплуатации.

Оптимизация потребления ресурсов и повышение производительности платформы

Нагрузка на систему постоянно растёт: увеличивается объём данных, появляются новые сценарии и функциональность. Вы будете искать узкие места, анализировать потребление ресурсов, профилировать сервисы и дорабатывать архитектуру так, чтобы система оставалась быстрой и устойчивой при росте нагрузки, а потребление CPU, памяти, сети и диска снижалось.

Создание инструментов разработки и эксплуатации

Мы работаем с большим количеством типовых сущностей: поставщиками и потребителями данных, таблицами в БД и инфраструктурными настройками. Поэтому важно быстро и безопасно вносить изменения, добавлять новые сущности и удалять устаревшие. Вам предстоит развивать кодогенерацию конфигов, использовать подход Infrastructure as Code, автоматизировать регулярные операции.

Развитие observability сервисов

Наши сервисы критичны для работы Маркета, поэтому важно быстро замечать, локализовывать и диагностировать проблемы. Для этого мы активно используем метрики, алерты, логи, трассировки и другие инструменты диагностики. Вам предстоит проектировать метрики и дашборды, покрывать мониторингом ключевые сценарии, настраивать полезные алерты и делать поведение распределённой системы более прозрачным.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

* Знаете классические алгоритмы и структуры данных
* Готовы проектировать и разрабатывать высоконагруженные и распределённые системы на современном C++
* Знаете Python или готовы изучить его
* Любите изучать новое