Разработчик на C++ (Маркет)
Описание
Локация: Москва — офис или гибридный формат; в условиях также указаны Санкт-Петербург и Москва.
Компания
Yandex Market — маркетплейс, где десятки тысяч продавцов размещают товары, а платформа ассортимента принимает, хранит, проверяет и передаёт товарные предложения сервисам Маркета.
Что делать
Развивать backend каталога товаров в кабинете продавца: фильтры, массовые действия и контракты с frontend.
Проектировать хранение и поиск более 2 миллиардов товарных предложений на распределённой платформе данных YT.
Оптимизировать схемы данных, шардирование, чтение и запись при потоке до сотен тысяч запросов в секунду.
Развивать генерацию шаблонов и обработку Excel-файлов объёмом до миллиона товаров с валидацией данных.
Расширять API сервиса личного кабинета, контролировать задержки, нагрузку и кеширование.
Участвовать в переходе сервисов на общую платформу исполнения запросов и stateless-архитектуру без остановки продакшена.
Требования
Уверенное владение C++20/23.
Знание Python для написания скриптов и части тестов.
Понимание многопоточности, асинхронного кода, HTTP или gRPC, таймаутов, ретраев и метрик.
Опыт работы с базами данных и понимание влияния схемы данных на производительность запросов.
Умение декомпозировать задачи, доводить их до продакшена и тестировать код.
Готовность работать в Москве в офисе или гибридном формате.
Хорошо, если есть
Опыт работы с распределёнными системами или MapReduce-платформами.
Опыт разработки высоконагруженных сервисов и оптимизации производительности.
Знание gRPC, Protobuf и OOXML, опыт разбора или генерации Excel-файлов.
Опыт в e-commerce и полнотекстовом поиске.
Культура и преимущества
Для вливания изменений достаточно одобрения одного коллеги; приоритет — скорость доставки функций.
Более 20 сервисов покрыты автоматическим процессом релиза через тестинг, престейбл и продакшен.
На этапах релиза выполняются тесты и проверка мониторингов.
Ручная выкладка релизов не требуется.