Ведущий инженер-программист (C++ / Qt / Computer Vision & AI)
NewОбязанности:
Задачи: Участие в полном цикле разработки высоконагруженных и критичных к надежности систем. Разработка кроссплатформенного ПО для систем технического зрения и контроля качества.
Требования:
Обязательные требования (Hard Skills): Базовый C++ и системное программирование: глубокое знание C++ (стандарты C++11/14/17). Уверенное владение STL, шаблонами, умными указателями, move-семантикой; опыт разработки многопоточных приложений (работа с потоками, синхронизация, атомарные операции). опыт создания кроссплатформенных решений на фреймворке Qt (сигналы/слоты, QML или QWidgets, работа с сетью, последовательными портами, БД). Работа с аппаратной частью: понимание стандартов машинного зрения ( GenICam, GigE Vision, USB3 Vision ). Опыт настройки параметров захвата (экспозиция, баланс белого, частота кадров, аппаратные триггеры) и работа с SDK популярных производителей (Basler, FLIR/ADI, Hikrobot, Daheng или отечественные аналоги) Взаимодействие с базами данных: написание модулей обмена с СУБД (SQLite, PostgreSQL, MySQL) в рамках Qt-приложений (через QtSql или ODBC). Операционные системы: Разработка и отладка кода под Windows и Linux (знание системных вызовов, работа с файловой системой, процессами, сокетами). Архитектура и проектирование: умение проектировать архитектуру сложных многомодульных систем. Составление структурных и блок-схем (UML, BPMN). понимание паттернов проектирования, принципов SOLID, подходов к организации кода в больших проектах. Инструменты и качество кода: опыт работы с Git; написание юнит-тестов (GTest, QTest) и проведение интеграционного тестирования; ведение технической документации (ТЗ, пояснительные записки, инструкции по сборке и эксплуатации). Работа с ИИ и обработка изображений: получение статичных изображений: Разработка модуля захвата, который по запросу (программному или от аппаратного триггера) получает одно или несколько неподвижных изображений с камеры. Сохранение снимков в файловую систему (с поддержкой форматов TIFF, PNG, JPEG) для последующего архивирования и верификации; адаптация готовых моделей: Умение брать предобученные модели детекции (например, YOLOv8, а также более лёгкие версии) и адаптировать их под задачу обнаружения требуемых объектов на изображении; дообучение (Fine-tuning): запуск процесса дообучения модели на собственном размеченном датасете с использованием PyTorch / TensorFlow, подбор гиперпараметров.