📢 Занимаетесь брендом работодателя?

Приходите 11 марта на Хабр Семинар, поговорим о том, как бренд и коммуникации становятся частью стратегии удержания.

→ Узнать больше

C++ разработчик/CV-инженер

Требования

Бэкенд разработчик
Senior
OpenCV
C++
Компьютерное зрение
Обработка изображений
OpenCL
Linux
Python

Условия

Можно удалённо
Москва

Компания

Комплексное внедрение цифровой маркировки товаров массового потребления

Описание вакансии

Senior C++ разработчик, CV-инженер с экспертизой в компьютерном зрении и глубоким знанием стандартов Data Matrix и ISO15415.

О компании:
SmartPack — аккредитованная IT‑компания. Мы предоставляем комплексные решения в сфере маркировки:

  • разрабатываем ПО;
  • оснащаем оборудованием для нанесения и считывания кодов маркировки;
  • реализуем онлайн‑сервисы по получению и обращению кодов маркировки;
  • интегрируем цифровое печатное оборудование и программное обеспечение для печати кодов маркировки.

Ключевые задачи: разработка алгоритмов машинного зрения, функций для обработки изображений, оптимизация производительности (поиск и декодирование), рефакторинг под многопоточную работу, замена bottleneck-функций OpenCV на собственную реализацию, улучшение точности построения сетки модулей. Обязателен опыт низкоуровневой оптимизации C++ и профилирования.

Стек: C++, OpenCV, Computer Vision (Компьютерное зрение), Image Processing (Обработка изображений), OpenCL, Linux.

Опыт от 3 лет.

Требования к кандидату:

  • Высшее техническое образование;
  • Отличное знание современного C++ 17/20;
  • Опыт работы с использованием OpenCV и других библиотек обработки изображений, понимание их устройства;
  • Сильная алгоритмическая подготовка и экспертные знания в алгоритмах обработки изображений:
  • фильтрация, бинаризация, морфологические операции, геометрические преобразования, детектирование геометрических паттернов.
  • Опыт бэкенд-разработки, работы с высоконагруженными и многопоточными системами;
  • Опыт низкоуровневой оптимизации: знание о расположении данных в памяти, профилирование и анализ производительности;
  • Знание принципов работы и опыт разработки на ОС Linux;
  • Знание и понимание ООП и паттернов проектирования;
  • Умение писать понятный поддерживаемый код;
  • Умение работать с Git;
  • Технический английский.

Будет плюсом:

  • Опыт разработки в проектах машинного зрения, визуального контроля качества продукции, обработки изображений, промышленных приложений;
  • Умение оптимизировать код с использованием бенчмарков, инструментов профилирования, знаний об архитектуре процессора;
  • Опыт написания высокопроизводительных, специализированных функций на C++ вместо использования общих функций OpenCV (например, собственные реализации свёрток, бинаризации, поиска контуров, работа с матрицами);
  • Опыт работы с SIMD-инструкциями (SSE, AVX, NEON) для векторизации вычислений;
  • Опыт работы с CUDA или OpenCL;
  • Опыт обработки изображений на GPU;
  • Опыт работы с Qt, CMake;
  • Опыт разработки на Python;
  • Опыт доработки модулей под LabVIEW;
  • Знакомство со стандартами GenICam, GigEVision;
  • Знание спецификации Data Matrix (ECC200): структура символа, кодирование/декодирование Reed-Solomon;
  • Знание стандарта ISO/IEC 15415 (или смежных: AIM DPM-1-2006) для оценки качества символов.

Условия работы:

  • Работа в аккредитованной ИТ компании.
  • Официальное трудоустройство по ТК РФ с полностью белой заработной платой.
  • Гибридный (г. Москва) или полностью удаленный формат работы (на территории РФ).
  • ДМС со стоматологией (60% стоимости оплачивает компания) после испытательного срока.
  • Обучение за счет компании, участие в конференциях.
  • Комфортные условия труда (современные ПК, два монитора, дооснащение по просьбе сотрудника).
  • Дополнительные выплаты при важных событиях в жизни (рождение ребенка и тд).
  • Доплата больничного листа до 100% оклада после года работы.
  • График работы 5/2 (с 9:00 или 10:00 до 18:00 или 19:00).
  • Корпоративные активности (тимбилдинги, недели здоровья, детские мероприятия, футбол и волейбол).

Ключевые навыки

  • C++
  • OpenCV
  • Computer Vision
  • Linux
  • OpenCL
  • Image Processing

Где предстоит работать

Баковка, Немчиновка, Одинцово, Сетунь, посёлок городского типа Новоивановское, Западная улица, 181