Старший инженер-разработчик datapath

По договоренности

  • Давыдково
  • Аминьевская
  • Аминьевская

Мы ищем старшего инженера-разработчика datapath в Nimbus. Вы будете развивать и сопровождать путь данных СХД — от фронтенд-протоколов через кэш и межконтроллерный обмен до интеграции с бэкендом хранения — и отвечать за его производительность, непрерывность при отказе контроллера и целостность данных.

О компании

Nimbus — производитель корпоративных систем хранения данных. Разрабатываем и выпускаем СХД уровня midrange: линейка «Гром» (гибридная архитектура, SAS-корзина с NVMe-кэшем) и «Молния» (all-NVMe). Обе линейки работают на собственной программной платформе «Юпитер»: блочный и файловый доступ (FC, iSCSI, NFS/SMB/FTP), снапшоты, клоны, репликация, метрокластер, дедупликация и компрессия, REST API.

Продукт вышел на рынок в 2025 году, сейчас идёт активная фаза роста: растёт число инсталляций и установленная база у заказчиков. Вместе с этим растут требования к производительности, стабильности под нагрузкой и совместимости с хостовым окружением — эта вакансия про то, чтобы отвечать за путь данных и развивать его.

О роли

Datapath — это код, через который проходит каждая операция ввода-вывода: от момента, когда запрос пришёл от хоста по FC, iSCSI или NVMe-oF, до записи на диск и ответа обратно. Сюда же входят кэш, обмен между двумя контроллерами и стыковка с бэкендом хранения. От этого кода зависит, сколько IOPS выдаёт система, какая у неё задержка и что происходит с данными, когда один из контроллеров выходит из строя.

Datapath уже написан и работает. Мы ищем разработчика, который будет его развивать: добавлять новые возможности, ускорять и разбираться, почему что-то работает не так.

Обязанности:

  • Развивать datapath продукта: реализовывать новую функциональность на пути данных и дорабатывать существующую — от приёма запроса по фронтенд-протоколу до записи на носитель.
  • Ускорять систему: находить, где на пути I/O теряется производительность — в коде, кэше, транспорте, адаптерах или дисках, — устранять это и подтверждать результат измерениями.
  • Обеспечивать непрерывность обслуживания при отказе контроллера: зеркалирование write-back кэша между контроллерами, корректное переключение путей на стороне хоста, takeover/giveback, обновление без прерывания I/O.
  • Гарантировать целостность данных: сквозная защита от искажений на всём пути, корректная обработка ошибок носителей, таймаутов и отмены запросов, поддержка резерваций для кластерных хостов.
  • Сопровождать фронтенд-протоколы FC, NVMe-oF и iSCSI: совместимость с хостами, HBA, multipath и target стеком.
  • Согласовывать datapath с транзакционным бэкендом хранения: блочные тома, кэш чтения, журнал синхронных записей, взаимодействие транзакционной модели бэкенда с write-cache контроллера.
  • Разбирать инциденты из эксплуатации (L3): воспроизведение, анализ crash dump, поиск корневой причины, исправление.
  • Писать design docs по своим направлениям, участвовать в ревью решений команды.

Технологический стек:

  • Основной язык — С. В основном работа с модулями ядра Linux: block layer, собственные утсройства-обёртки над томами, очереди и completion bio, взаимодействие с SCSI target.
  • Кэш записи — свой, в ядре: попадание и промах, отложенный сброс на бэкэнд, водяные знаки, поведение при живом и севшем батарейном модуле. Обмен по PCIe NTB.
  • Экспорт томов — SCSI target (iSCSI и FC). Управление политикой кэша и жизненным циклом устройств через netlink, sysfs и служебные утилиты.
  • Отладка: perf, трассировка, gdb, crash, fio, SCSI утилиты. Нужно уметь показать на каком уровне застрял запрос.

Требования:

  • Уверенный С и несколько лет системного или низкоуровневого программирования: драйверы, сетевые или SCSI-стэки, файловые системы, storage engine.
  • Понимание Linux block layer на уровне практики: как устроен запрос, как он дробится и завершается, что означают признаки синхронной записи и сброса кэша.
  • Опыт работы с многопоточным кодом с разделяемым состоянием: очереди, блокировки, гонки между записью, чтением и фоновым сбросом кэша. Умение разбираться в чужом большом С коде и менять его точечно, а не «переписав модуль с нуля».
  • Отладка сложных отказов: профилирование, разбор oops и дампов, воспроизведение с хоста.
  • Английский B2: чтение спецификаций, письменная и устная коммуникация.

Будет плюсом:

  • Практический опыт SPDK/DPDK (bdev, poll-группы, NVMe-oF target) .
  • Storage-домен: протоколы NVMe, SCSI/FC, iSCSI; принципы HA-пары контроллеров — зеркалирование кэша, failover, многопутевой доступ с хоста, консистентность, журналирование.
  • PCIe NTB: штатный стэк Linux или собственные реализации.
  • Internals транзакционных файловых систем и volume-менеджеров (OpenZFS, Btrfs, bcachefs, LVM/dm): транзакционные группы, intent log, кэширование, блочные тома.
  • Опыт разработки двухконтроллерных СХД.
  • Взаимодействие datapath с cluster resource manager (Pacemaker/Corosync) при failover.
  • Участие в open-source: SPDK, DPDK, Linux kernel (block/scsi/nvme), файловые системы и storage-стек.
Мы предлагаем:
  • Формат работы готовы обсуждать исходя из пожеланий соискателя;

  • Офис: БЦ West Plaza, ул. Рябиновая, д. 26с2 (корпоративный автобус от м. Славянский бульвар (в пути до офиса - 10-15 минут в зависимости от загруженности дорог);

  • График работы: 5/2 с гибким началом рабочего дня (08:00, 09:00, 10:00);

  • Сокращенная пятница на 1 час;

  • Уровень заработной платы обсуждается с успешным кандидатом;

  • Расширенный пакет ДМС со стоматологией, либо абонемент в фитнес-клуб "World Class";

  • Дружный и энергичный коллектив, где каждый находит поддержку и вдохновение;

  • Активно развивающуюся корпоративную культуру, где ценят ваше мнение и инициативы.


Адрес: Россия, Москва, Рябиновая улица, 26с2
Показать на большой карте

Поделиться:

Опубликована 13 дней назад

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

Вакансии быстро закрываются - скачайте мобильное приложение в RuStore и откликайтесь первыми!
Скачать бесплатно
Привет! Мы креативное консалтинговое агентство Nau - эксперты в области CRM и продуктовой разработки. Проектируем, внедряем и развиваем цифровые системы, которые помогают бизнесу расти, автоматизировать процессы и улучшать клиентский опыт. Проект: Na...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании naunau
  • Москва
3 дня назад
Сетевой инженер-разработчик системы автоматизации Quality Assurance #QA #AQA #автотесты #BGP #OSPF #python ... Принимать участие в проектировании и написании последовательностей (pipelines) CI/CD Взаимодействовать с разработчиками ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании Департамент персоналаДепартамент персонала
  • Москва
4 дня назад
218 800 - 287 400 ₽
Выше средней на 26%
Нам нужен инженер-изобретатель / R&D engineer, который любит разбираться с задачами, для которых ... Кто нам нужен Возможно, вы называете себя: инженер по радиолокации; инженер-разработчик РЛС; СВЧ-инженер ... ; RF engineer; инженер-антенщик; разработчик АФАР/ФАР; инженер по антенно-фидерным системам; R&D ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании STOOXXSTOOXX
  • Москва
3 дня назад
... описанных выше; Исправление ошибок (багов) и улучшение производительности системы; Взаимодействие с разработчиками ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании Бифорком ТекБифорком Тек
  • Москва
13 дней назад
About Actogram Actogram is a technology startup developing algorithms that transform wearable sensor data into meaningful insights into biological rhythms, sleep, and long-term health. One of our core technology directions is designed for integration...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании Абаскулиева Елена РафаиловнаАбаскулиева Елена Рафаиловна
  • Москва
18 дней назад
Мы обрабатываем данные посетителей и используем куки в соответствии с политикой конфиденциальности.