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

Младший разработчик системного ПО (Linux kernel/ C) в MIND Software Москва

Building iconв офис
Person iconjunior
Money bag iconне указана

Мы разрабатываем системное ПО, работающее с блочной подсистемой Linux: семейство модулей ядра и системные утилиты вокруг них. Один из ключевых модулей отслеживает изменённые блоки и делает copy-on-write снапшоты дисков - это фундамент для быстрых инкрементальных бэкапов. Всё это работает в проде на широком диапазоне версий ядра.
Ищем специалиста с реальным низкоуровневым бэкграундом. Мы не ждём готового kernel-разработчика - kernel-специфику даём внутри, но системный, POSIX-уровневый фундамент нужен на входе.

Чем предстоит заниматься:
- Разработкой и сопровождением модулей ядра Linux, работающих с блочной подсистемой - от перехвата блочного ввода-вывода до отслеживания изменённых блоков и copy-on-write снапшотов дисков;
- Поддержкой широкого диапазона версий ядра - от старых до самых свежих: разбором изменений во внутренних API и адаптацией кода под них;


- Поиском и устранением багов в низкоуровневом C-коде, включая работу с состояниями снапшотов, механикой COW-файлов и групповыми (атомарными) операциями над несколькими устройствами;
- Написанием и расширением тестов - интеграционных и юнит-тестов на Python; - Разработкой и сопровождением системных утилит и userspace-обвязки: разделяемых/статических библиотек, CLI-инструментов и IOCTL-интерфейсов между ядром и пользовательским пространством;
- Чтением и рефакторингом чужого объёмного C-кода - и уверенной работой в нём без страха.

Что ждём от тебя:
- Знание C на уровне «могу написать и отладить нетривиальную программу»;
- Опыт системного программирования - писал не только прикладной код, но и работал с системными вызовами: файлы и дескрипторы, процессы, сигналы, потоки, IPC, память;
- Знание POSIX API и модели ОС: чем read/write/ioctl/mmap отличаются по семантике, как устроены блокирующий/неблокирующий ввод-вывод, как ведут себя дескрипторы и права;
- Понимание внутреннего устройства Linux: файловые системы, блочные устройства, страничный кэш;
- Комфортная работа в Linux CLI: make, git, loop-девайсы, mount, LVM;
- Готовность лезть в исходники ядра и документацию, а не ждать готовых ответов.

Будет плюсом:
- Опыт с модулями ядра или драйверами (хотя бы учебными);
- Понимание устройства блочного уровня Linux;
- Пет-проекты на C/C++/Rust, участие в опенсорсе, CTF/low-level.

Что даём:
- Реальные продукты в проде и наставника с ревью кода, а не задачи «в стол»;
- Редкую и дорогую на рынке экспертизу в kernel/storage, таких инженеров единицы;
- Понятную траекторию роста: junior → разработчик, отвечающий за свой участок;
- Возможность удаленной работы (преимущественно гибридный формат работы);
- ДМС (после испытательного срока);
- Работа в БЦ класса «А» в шаговой доступности от м. Петровский парк и м. Динамо.

Эту вакансию мы нашли в HH.ru
MS

MIND Software

Москва

Получить оффер

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

Это единственная вакансия по вашему фильтру

Не то, что искал?

вакансии джуниор
как откликнуться на вакансию
примеры вакансий junior
вакансии по Python
стажировки по Python
Автоотклики