Основные требования:
• Опыт системной разработки под семейства ОС на базе ядра Linux в пространстве пользователя и в пространстве ядра на языке программирования Си;
• Опыт разработки модулей ядра Linux или приложений на основе DPDK\SPDK;
• Знания архитектуры и внутренних механизмов ОС Linux;
• Опыт разработки и сопровождения многопоточных, отказоустойчивых, масштабируемых приложений;
• Базовые знания сетей и протоколов передачи данных;
• Базовые знания принципов построения систем хранения (RAID, протоколы доступа, отказоустойчивость, мгновенные снимки, клоны, репликация, компрессия и дедупликация);
• Знания и опыт работы с одной или несколькими дисковыми подсистемами/файловыми системами (LVM2, ZFS, BTRFS и т. д.);
• Опыт написания высокопроизводительного кода, оптимизации производительности, профилирования;
• Опыт использования системы контроля версий git;
• Знания английского языка, достаточного для чтения технической литературы и документации;
Чем предстоит заниматься:
• Проектирование и разработка составных частей системы хранения данных (СХД) на различных носителях (HDD, SSD, NVMe SSD) ;
• Разработка алгоритмов обработки и хранения данных в следующи подсистемах (специализация закрепляется по итогам собеседования, не более 2 специализаций):
• Защиты данных (RAID, слои дисковой абстракции);
• Оптимизации операций ввода-вывода (алгоритмов кеширования операций чтения и записи);
• Отказоустойчивости (кластеризация, балансировка нагрузки, распределение ресурсов и т.д.);
• Оптимизации данных (компрессия, дедупликация с переменным блоком на блочном уровне);
• Доступа (протоколы доступа к данным, разграничение доступа, отказоустойчивое подключение, балансировка потоков);
• Защита данных (мгновенные снимки, клоны, репликация данных);
• Приоритизации и ограничения доступа к данным (QoS);
• Мониторинг состояния и показателей производительности.
• Разработка unit-тестов;
• Документирование результатов разработки;
Будет плюсом:
• Работа с протоколами SAN (iSCSI и Fibre Channel), NAS и NVMe-oF;
• Понимание концепций параллельного программирования, lock-free, wait-free;
• Опыт работы с различными аппаратными архитектурами (x86, E2K, ARM, RISC-V);
• Опыт разработки решений с применением сложных математических алгоритмов;
• Понимание принципов работы файловых систем и устройств хранения данных;
• Опыт работы с RDMA;
• Опыт работы с SIMD;
• Опыт работы с подсистемами ядра Linux (block, filesystems, network, device drivers);
• Опыт в Open Source проектах;
• Опыт разработки на С++ (C++11, C++14), bash, python, Go, Rust;
• Опыт и понимание паттернов проектирования. SOLID.
Что предлагаем:
• Конкурентоспособная заработная плата в зависимости от квалификации;
• Система бонусов и поощрений по результатам работы;
• Работа в аккредитованной IT-компании;
• Гибкий график работы, возможность работы в формате (гибрид/офис);
• Возможность принять непосредственное участие как в проектировании, так и в разработке нового продукта. Отсутствие какого-либо legacy (исторически унаследованного) кода;
• Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете возможность работать вместе (и дополнительный денежный бонус);
• Возможность карьерного роста;
• Оформление согласно ТК РФ.
Вилка от 250К на руки. Почта: d.semakin<собакен>a-store.tech