🔥

Не упустите лучшие вакансии!

Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!

Подключить бота

Старший разработчик DataNode в команду YTsaurus

Яндекс
Санкт-Петербург, Москва
Гибридный, Офис
Опубликовано: 26 May 2026
YTsaurus (YT) — это распределённая платформа для хранения и обработки эксабайтов данных. Она служит фундаментом для аналитики и batch-обработки структурированных и полуструктурированных данных для большинства сервисов Яндекса. В основе системы лежит принцип прозрачного шардирования: любые большие таблицы или файлы автоматически разбиваются на части — чанки. Для пользователя таблица выглядит единым целым, но физически она состоит из миллионов чанков, распределённых по тысячам серверов.

Наша команда развивает слой DataNode — сердце системы, отвечающее за надёжное хранение, репликацию и обслуживание этих чанков под экстремальными нагрузками. Мы работаем на грани возможностей железа, управляя гетерогенными медиумами (HDD, SSD, NVMe) и обеспечивая непрерывные операции чтения и записи с самыми разными паттернами доступа. Ищем senior-разработчика, который поможет нам масштабировать систему, выжимать максимум производительности и делать платформу ещё более отказоустойчивой.

Какие задачи вас ждут

Создание системы честного распределения ресурсов
Вам предстоит разрабатывать и совершенствовать механизмы, которые гарантируют предсказуемость работы системы при мультитенантности. Это не просто очерёдность запросов: нужно создать умный I/O-шедулер, который динамически балансирует нагрузку между тысячами пользователей, внедрить точный учёт потребления ресурсов. Главная цель — обеспечить строгое соблюдение персональных квот, чтобы один «шумный сосед» не мог замедлить работу критических процессов других сервисов даже под пиковой нагрузкой.

Развитие форматов хранения и сжатия
Мы работаем с данными, объёмы которых постоянно растут, поэтому эффективность их хранения критична. Вы будете исследовать и внедрять новые форматы хранения на диске, адаптированные под специфические паттерны доступа YTsaurus. Понадобится разрабатывать продвинутые алгоритмы компрессии (в том числе адаптивные), создавать кастомные схемы индексации и оптимизировать хранение данных на диске, чтобы минимизировать латенси доступа к данным на HDD и максимально задействовать параллелизм NVMe.

Оптимизация производительности на пределе аппаратных лимитов
Это работа на стыке софта и железа, где каждый процент пропускной способности на счету. Вы будете проводить глубокий профайлинг системы (perf, bpftrace, FlameGraph), искать и устранять узкие места на пути прохождения данных от сети до диска. Придётся учитывать физику разных медиумов: выравнивать записи для HDD, управлять очередями для SSD/NVMe, оптимизировать работу с CPU-кешами и сетевым стеком. Ваша цель — выжать максимум из доступного железа, обеспечивая стабильную пропускную способность и минимальный латенси даже при деградации отдельных узлов кластера.

Мы ждем, что вы

  • Имеете глубокий опыт разработки на C++ в высоконагруженных системах
  • Владеете навыками профилирования приложений и бенчмаркинга, умеете находить неочевидные проблемы производительности
  • Понимаете внутреннее устройство слоя хранения (filesystem, драйверы, работа HDD/SSD/NVMe) и умеете его тюнинговать
  • Разбираетесь в принципах эксплуатации распределённых систем и осознаёте ответственность за код, который будет использоваться как внутри Яндекса, так и внешними компаниями

Будет плюсом, если вы

  • Сталкивались с разработкой собственных файловых систем или СУБД
  • Знакомы с архитектурой YTsaurus или аналогичных распределённых хранилищ (HDFS, Ceph и др.)
  • Участвовали в опенсорс-проектах или имеете публикации на технические темы
🚀

Ваше резюме увидят первым!

Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!

Подключить автоподнятие