Инженер-программист C++/Qt (аппаратно-программный комплекс) — Россия, Дубна (Московская область)
Зарплата не указана
ОткликнутьсяКомпания: ••••••••
Локация: Россия, Дубна (Московская область)
Формат: Офис
Занятость: Полная занятость
Грейд: не определён
О продукте
Вы будете частью команды, разрабатывающей аппаратно-программное решение — комплекс ....
В функциональности продукта:
• сбор, обработка и анализ видеопотока в реальном времени;
• взаимодействие с периферийными устройствами (датчики, платы сопряжения, контроллеры);
• управление поворотной платформой: слежение, наведение, стабилизация;
• разработка ПО автоматизированного рабочего места оператора;
• алгоритмы обработки данных и моделирование элементов системы.
Используемый стек: C++17/20, Qt 6, STL, Boost, OpenCV, CMake, Git, GitLab CI, Google Test, MATLAB/Simulink, Python (для прототипов).
Задачи разработки
В команде разработки выделены специализированные направления, каждое из которых отвечает за ключевой технический домен системы. Мы разделяем зоны ответственности так, чтобы каждый специалист мог глубоко фокусироваться на своей области:
• сбор, обработка и анализ видео, компьютерное зрение;
• интеграция с периферийными устройствами (COM, USB, Ethernet, CAN);
• алгоритмы управления поворотной платформой (ПИД, слежение, наведение);
• разработка пользовательского интерфейса АРМ оператора;
• алгоритмы и графовые структуры данных;
• разработка ядра системы и архитектурных компонентов;
• моделирование в MATLAB/Simulink и перенос моделей в production-код.
Требования к кандидату
Технические навыки:
• Уверенные знания C++, опыт разработки на стандарте C++17/20;
• Отличное владение STL, многопоточностью и библиотекой Boost;
• Опыт разработки интерфейсов с использованием Qt (Widgets/QML);
• Опыт работы с OpenCV и обработкой видеопотоков в реальном времени;
• Понимание теории автоматического управления (ПИД-регуляторы, фильтры Калмана);
• Опыт взаимодействия с периферийными устройствами (COM, USB, CAN, Modbus);
• Знание алгоритмов и структур данных, опыт работы с графами;
• Навыки архитектурного проектирования и оптимизации производительности.
Инженерные и коммуникационные навыки:
• Умение писать поддерживаемый, читаемый и стабильный код;
• Способность обосновывать архитектурные решения и обсуждать их с командой;
• Навык взаимодействия в команде и гибкий подход к задачам;
• Владение английским языком на уровне чтения технической документации (разговорный — плюс).
Будет плюсом:
• Опыт работы с CUDA/GPU-ускорением;
• Знание ROS/ROS2;
• Опыт работы с embedded Linux и кросс-компиляцией;
• Опыт написания тестов (Google Test);
• Опыт моделирования в MATLAB/Simulink и автогенерации кода;
• Участие в создании сложных пользовательских интерфейсов и UI/UX-проектировании.