Программист С/С++ для ОС Linux (Linux + Android) на платформе ARM
По договоренности
- Проспект Космонавтов
Комментарий:
Этот программист в основном будет разрабатывать низкоуровневые компоненты ПО, в первую очередь модули приема и обработки данных от датчиков, входящих в состав медицинских устройств, а также модулей формирования команд для исполнительных устройств (компонентов) медицинского оборудования. Возможно участие в работах по алгоритмам обработки сигналов (например, сигналов ЭКГ в мониторах пациента).
Программист С/С++ для ОС Linux (в том числе Linux + Android) на платформе ARM
1. Должность и Обязанности
Должность: Инженер-программист, системный программист (C++, Embedded Linux, Android)
Краткое описание должностных обязанностей: Разработка программного обеспечения для медицинских устройств.
Ключевые требования к опыту:
- Опыт коммерческой разработки на C++ и Embedded Linux, Android от 3-5 лет.
- Высшее техническое образование (компьютерные науки, радиоэлектроника, приборостроение).
Ключевые обязанности:
Разработка, отладка и сопровождение программного обеспечения для встраиваемых систем на базе Linux, Android.
Конфигурирование и поддержка операционных систем Linux, Android для целевой аппаратной платформы.
Интеграция ПО с аппаратным обеспечением (датчики, исполнительные механизмы, периферия) через интерфейсы (в первую очередь — UART).
Написание технической документации.
Активное участие во всех этапах жизненного цикла ПО: анализ требований, архитектура, кодирование, тестирование (модульное, интеграционное), отладка.
2. Технические требования (Hard Skills)
Обязательные:
Язык программирования C++: Уверенное владение стандартами C++11/14/17. Понимание и применение идиом ООП, шаблонов, STL, умение писать безопасный и эффективный код.
Embedded Linux, Android на уровне администратора/разработчика:
- Опыт сборки кастомных дистрибутивов.
- Понимание архитектуры и компонентов Linux (ядро, драйверы, файловые системы, systemd, udev).
- Навыки низкоуровневой отладки и настройки системы.
- Знание архитектуры и компонентов ОС Linux, понимание работы основных аппаратных и сетевых интерфейсов и протоколов.
- Понимание принципов устройства и разработки драйверов устройств Linux..
Системное программирование в Linux, Android:
- API POSIX (файлы, сокеты, процессы, потоки, синхронизация).
- Межпроцессное взаимодействие (IPC): сокеты, очереди сообщений, разделяемая память.
- Работа с аппаратурой через файловые интерфейсы (/sys, /proc, /dev).
- Разработка модулей программного обеспечения, отвечающих за взаимодействие с периферийным оборудованием медицинских устройств.
Интеграция ПО с аппаратным обеспечением через интерфейсы (в первую очередь — UART).
Инструменты:
- Система контроля версий Git (GitFlow или аналоги).
- Системы сборки: cmake, qmake.
Желательные:
Знание сетевых протоколов и технологий.
Опыт портирования или разработки драйверов устройств для Linux.
Базовое понимание электроники и аппаратных интерфейсов.
Английский язык на уровне чтения технической документации.
3. Личные качества
Ответственность и внимание к деталям.
Аналитический склад ума: способность работать с комплексными техническими требованиями и декомпозировать задачи.
Коммуникабельность: умение четко излагать мысли, работать в команде, документировать решения.
Самоорганизация и инициативность: способность самостоятельно вести задачу от начала до конца, предлагать улучшения.
Готовность к постоянному обучению: быстрое освоение нового инструментария и предметной области (медицина).
Опубликована 6 часов назад
Похожие вакансии
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Екатеринбург