Обязанности:
Написание, развитие и поддержка встроенного программного обеспечения для лазерного сканера FilinCam. Встроенное ПО сканера включает в себя:
- Модули для управления устройствами: шаговым двигателем, сенсором глубины типа LIDAR, фотокамерой, различными сенсорами и датчиками.
- Математический модуль для вычисления траектории перемещения камеры в пространстве.
- Пользовательский интерфейс для управления процессом съемки, просмотра и редактирования карты пола.
- Модуль взаимодействия с удаленным сервером Биганто: авторизация пользователей в системе, выгрузка данных, удалённое обновление ПО сканера.
- Модуль предварительной обработки и валидации отснятых данных.
Различные сервисные и калибровочные утилиты.
Требования: - Высшее образование в компьютерных науках или в смежных областях;
- Отличное знание и опыт программирования на С++, знание Cmake. Понимание процесса сборки и компиляции С++ кода (например, что делают компилятор и компоновщик, что такое динамическая линковка и тп.)
- Уверенная работа в командной оболочке Linux. Умение писать и разбираться в bash скриптах
- Умение работать с sysfs интерфейсом ядра Linux. Знание часто используемых системных вызов в Linux API.
- Знание основ git и понимание модели разработки gitflow.
- Знание основ CI/CD, умение пользоваться docker контейнерами.
- Хорошая подготовка в computer science, знание основных алгоритмов, структур данных, и т.д.
- Английский язык: чтение чтение профессиональной литературы.
Плюсом будет:
- Базовые знание и опыт практического следующих библиотек: OpenCV, OpenGL, PCL, и подобных.
- Базовые знания цифровой обработки сигналов, и/или обработки изображений.
- Опыт работы хотя бы с одной распространённой СУБД (например mysql, sqlite). Умение писать сложные SQL запросы.
- Базовые представления об низкоуровневых интерфейсах I2C, SPI и GPIO, UART
- Знание REST API
- Знание Python 3+ на среднем уровне, умение писать скрипты на Python
- Знание о том, что такое HTTP запросы, понимание того, как работает HTTP сервер и как исполняется фронтэнд код на стороне пользователя
- Умение профилировать, оптимизировать и ускорять С++ код, понимание параллельных вычислений, опыт создания многопоточных приложений.
- Базовые знания CUDA.
Условия: - Оформление по ТК РФ; режим работы - 5/2, 40-часовая рабочая неделя
- Бесплатный корпоративный фитнес-центр на территории предприятия
- Стабильная заработная плата, обсуждается на собеседовании и зависит от уровня компетенции кандидата
- Возможность профессионального и карьерного роста
-