C++ / Embedded Linux Developer
Описание
C++ / Embedded Linux Разработчик Ищем C++ разработчика уровня Middle или Senior в команду разработки системного программного обеспечения для ARM-платформ под Embedded Linux. Основные задачи связаны с разработкой и развитием сервисов и компонентов на C++, многопоточностью, сетевым взаимодействием, IPC, интеграцией с аппаратными интерфейсами и диагностикой ПО непосредственно на целевых устройствах. Рассматриваем кандидатов с разным уровнем опыта. Конкретный уровень позиции определяется по итогам технического интервью. Задачи Разработка и поддержка системных сервисов и компонентов на C++17/20. Работа с многопоточностью, сетевым взаимодействием, IPC и потоками данных. Интеграция программного обеспечения с Linux-окружением и аппаратными интерфейсами устройств. Диагностика и устранение проблем со стабильностью, производительностью и корректностью работы ПО. Отладка программного обеспечения на целевых устройствах. Разработка unit-тестов. Работа с существующей кодовой базой, участие в code review и развитии архитектуры компонентов. Требования Уверенное практическое знание C++17/20. Понимание RAII, lifetime и ownership объектов, smart pointers, move semantics, STL и templates. Опыт работы с многопоточностью: std::thread / std::jthread, mutex, condition variable, atomics. Понимание типовых проблем многопоточного программирования: race condition, deadlock, корректное завершение потоков и сервисов. Уверенная работа в Linux: процессы и потоки, signals, file descriptors, sockets, /proc, /sys, /dev. Практический опыт диагностики и отладки сложных проблем с использованием GDB, core dumps, sanitizers, strace, системных логов. Опыт работы с CMake, GCC/Clang, Git, unit tests. Умение читать и анализировать существующий код, разбираться в архитектуре системы и аккуратно вносить изменения. Будет преимуществом Опыт разработки под ARM / Embedded Linux. Опыт работы с TCP/UDP, sockets и сетевыми сервисами. Опыт работы с IPC: D-Bus, shared memory, очереди сообщений. Cross-compilation и разработка ПО для целевых устройств. Buildroot или Yocto. CI/CD, Python для утилит и автоматизации. Опыт работы с GStreamer, FFmpeg, V4L2, DRM/KMS, ZeroMQ, OpenCV. Опыт интеграции с сенсорами, видеооборудованием или другими аппаратными устройствами. Опыт со всеми перечисленными технологиями не является обязательным. Для позиции важны сильная база в C++ и Linux, практический опыт решения системных задач и способность самостоятельно разбираться в существующем программном обеспечении. Позиция не предполагает разработку Linux kernel drivers или BSP с нуля. Условия Оформление по ТК РФ. Работа в оборудованном офисе. Гибкое начало рабочего дня. График работы 5/2. Полный рабочий день. Заработная плата — от 290 000 рублей в месяц, итоговый уровень обсуждается по результатам собеседования.