С/С++ Инженер-программист/ Software Developer (Linux, схд)
Зарплата
от 200 000 до 380 000 ₽
Требования
Местоположение и тип занятости
Компания
HR Consulting, Business Consulting, and Management Consulting
Описание вакансии
О компании и команде
Привет! Мы – технологическая компания А-СТОР. Нашими ключевыми направлениями на текущий момент являются серверы общего назначения (на базе архитектуры х86) и системы хранения данных.
Мы расширяем направление разработки системы хранения данных (СХД) и находимся в поиске сильных Middle/Senior программистов.
Чем предстоит заниматься:
- Проектирование и разработка составных частей системы хранения данных (СХД) на различных носителях (HDD, SSD, NVMe SSD) ;
- Разработка алгоритмов обработки и хранения данных в следующих подсистемах (не более 2 специализаций на 1 человека):
- Защиты данных (RAID, слои дисковой абстракции);
- Оптимизации операций ввода-вывода (алгоритмов кеширования операций чтения и записи);
- Отказоустойчивости (кластеризация, балансировка нагрузки, распределение ресурсов и т.д.);
- Оптимизации данных (компрессия, дедупликация с переменным блоком на блочном уровне);
- Доступа (протоколы доступа к данным, разграничение доступа, отказоустойчивое подключение, балансировка потоков);
- Защита данных (мгновенные снимки, клоны, репликация данных);
- Приоритизации и ограничения доступа к данным (QoS);
- Мониторинг состояния и показателей производительности.
- Разработка unit-тестов и участие в code-review для обеспечения качества и надежности кода;
- Документирование результатов разработки;
- Техническое лидерство, наставничество для младших разработчиков.
Ожидания от кандидата
- Опыт системной разработки под семейства ОС на базе ядра Linux в пространстве пользователя и в пространстве ядра на языке программирования Си;
- Опыт разработки модулей ядра Linux или приложений на основе DPDK\SPDK;
- Глубокие знания архитектуры и внутренних механизмов ОС Linux;
- Опыт проектирования, разработки и сопровождения многопоточных, отказоустойчивых, масштабируемых информационных систем;
- Базовые знания сетей и протоколов передачи данных;
- Базовые знания принципов построения систем хранения (RAID, протоколы доступа, отказоустойчивость, мгновенные снимки, клоны, репликация, компрессия и дедупликация);
- Знания и опыт работы с одной или несколькими дисковыми подсистемами/файловыми системами (LVM2, ZFS, BTRFS и т.д.);
- Опыт написания высокопроизводительного кода, оптимизации производительности, профилирования;
- Опыт использования системы контроля версий git.
Будет плюсом:
- Работа с протоколами 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.
Условия работы
- Конкурентоспособная заработная плата в зависимости от квалификации;
- Система бонусов и поощрений по результатам работы (13-ая зарплата);
- Работа в аккредитованной IT-компании;
- Гибкий график работы, возможность работы в формате (гибрид/офис);
- Возможность принять непосредственное участие как в проектировании, так и в разработке нового продукта. Отсутствие какого-либо legacy (исторически унаследованного) кода;
- Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете возможность работать вместе (и дополнительный денежный бонус);
- Возможность карьерного роста;
- Оформление согласно ТК РФ.
Будем рады новым и интересным людям в команде! Давайте общаться :)