Ведал

Программист С/С++ для ОС Linux и систем на основе микроконтроллеров

Не указана
  • Екатеринбург
  • От 3 до 6 лет
  • Linux
  • C++

Комментарий:

Этот программист в основном разрабатывает низкоуровневые компоненты ПО для Linux, но дополнительно должен иметь опыт и знания программирования микроконтроллеров (наиболее важно – семейство STM32). Это связано с тем, что в некоторых медицинских устройствах, например YP-970 (инкубатор) установлен именно микроконтроллерный блок управления (без ОС).

1. Должность и Обязанности

Должность: Инженер-программист, системный программист
Краткое описание должностных обязанностей: Разработка программного обеспечения для медицинских устройств.

Ключевые требования к опыту:

  • Опыт коммерческой разработки на C++ от 3–5 лет.
  • Высшее техническое образование (компьютерные науки, радиоэлектроника, приборостроение).

2. Технические требования (Hard Skills)

Обязательные:

Язык программирования C++: уверенное владение стандартами C++11/14/17, понимание ООП, шаблонов, STL, умение писать безопасный и эффективный код.

Разработка модулей программного обеспечения для медицинских устройств и программного обеспечения для компонентов медицинских устройств на основе микроконтроллеров (STM32).

Знание архитектуры и компонентов ОС Linux, понимание работы основных аппаратных и сетевых интерфейсов и протоколов.

Понимание принципов устройства и разработки драйверов устройств Linux.

Знание архитектуры и технологий программирования микроконтроллеров. Понимание основных интерфейсов и протоколов взаимодействия компонентов систем на основе микроконтроллеров.

Инструменты:

  • Система контроля версий Git (GitFlow или аналоги).
  • Системы сборки: cmake, qmake.

Написание технической документации по GUI-компонентам и логике интерфейса.

Активное участие в этапах жизненного цикла ПО, связанных с интерфейсом: анализ требований, архитектура, кодирование, тестирование (модульное, интеграционное), отладка.

3. Личные качества

Ответственность и внимание к деталям.

Аналитический склад ума: способность работать с комплексными техническими требованиями и декомпозировать задачи.

Коммуникабельность: умение четко излагать мысли, работать в команде, документировать решения.

Самоорганизация и инициативность: способность самостоятельно вести задачу от начала до конца, предлагать улучшения.

Готовность к постоянному обучению: быстрое освоение нового инструментария и предметной области (медицина).