Не упустите лучшие вакансии!
Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!
Подключить ботаСтарший разработчик DataNode в команду YTsaurus
Наша команда развивает слой 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 раз!
Подключить автоподнятие