Разработчик/C++ Developer (Computer Vision, Real-time Systems) офис/гибрид
О проекте:
Разрабатываем новую систему видеоанализа в реальном времени «с чистого листа».
Заменяем существующее решение, создавая технологический стэк под собственные задачи. В основе — IP-камеры, нейросетевые модели, алгоритмы компьютерного зрения и допплеровские радары для прецизионного измерения скорости.
Сейчас мы на самой интересной стадии — R&D.
Мы создаём прототип (PoC) и формируем архитектуру ядра системы. Вас ждёт глубокое погружение в предметную область, работа с «сырыми» данными оборудования, быстрые эксперименты и итеративная разработка ключевых алгоритмов. Наша цель — проверить гипотезы, получить первые работающие результаты и заложить основу для будущего production-решения.
Что предстоит делать:
– Разработка C++ приложения под ОС Linux (x86-64, ARM);
– Разбираться в технических задачах: разбор протоколов радаров, SDK камер, исследование алгоритмов трекинга, детекции, гомографии;
– Участие в принятии технических решений: выбор библиотек, написание модулей, оптимизация пайплайна;
– Интеграция выгрузки данных с внешними системами через SOAP/JSON API;
– Написание клиент-серверных приложений;
– Исследование и внедрение решений для инженерных задач (калибровка, синхронизация);
– Участие в проектировании и code review и готовность помогать коллегам.
Технологический стек:
C++17/20, Linux, CMake, GCC/Clang, QT, ImGui, FFmpeg (libavcodec), OpenCV, многопоточность, сетевые сокеты (UDP/TCP/RTSP), PostgreSQL, gSOAP, JSON, Docker, Git.
Требования:
– Production-опыт разработки на C++ 17/20;
– Опыт сборки и кросс-компиляции с CMake, Conan/vcpkg;
– Глубокое понимание многопоточности и управление памятью;
– Опыт анализа и интеграции сторонних SDK от производителей камер;
– Понимание и опыт работы с сетями: RTSP, UDP/TCP, сокеты, отладка сетевых проблем;
– Опыт применения библиотеки OpenCV и интеграцией в систему с готовыми моделями ONNX,YOLO (детекция, трекинг, работа с матрицами, калибровка);
– Опыт работы с FFMPEG или GStreamer;
– Опыт работы с базой данных PostgreSQL, SQLite (DDL, DML);
– Опыт профилирования приложений и нахождения узких мест bottleneck;
– Опыт написания клиентов для веб-сервисов (JSON, SOAP);
– Практический опыт разработки под ОС Linux;
– Умение работать в терминале (bash, ssh, systemctl, journalctl, cron);
– Понимание, что такое Docker и зачем он нужен.
Будет плюсом:
– Написание UI на QT, ImGui;
– Опыт работы с калибровкой камеры и задачами гомографии;
– Знание алгоритмов трекинга объектов (SORT, DeepSORT);
– Опыт с синхронизацией данных (NTP, PTP, временные метки);
– Знание Python для прототипирования решений.