Описание
Ищем C++ разработчика в команду автономной навигации. Наш рабочий процесс строится на прототипировании алгоритмов в среде ROS 2 / Python с последующим их переносом и глубокой оптимизацией на C++ под требуемые платформы.
Чем предстоит заниматься
•Разрабатывать программное обеспечение на C++ для компактных вычислителей и одноплатных компьютеров под управлением Linux или RTOS.
•Переносить прототипы навигационных алгоритмов из среды прототипирования (ROS 2 / Python) в эффективный, оптимизированный продакшн-код на C++.
•Реализовывать, отлаживать и оптимизировать алгоритмы фильтрации, оценки ориентации и слияния данных, включая работу с полетными логами.
•Реализовывать взаимодействие с бортовой периферией, датчиками и камерами.
•Документировать создаваемое программное обеспечение, разбираться в существующей кодовой базе и последовательно развивать её.
Мы ожидаем от Вас
•Профессиональное владение C++, понимание принципов ООП, многопоточности, асинхронной обработки данных и архитектуры распределенных систем.
•Практический опыт работы с фреймворком ROS 2 и понимание его архитектуры.
•Уверенная математическая база, понимание основ навигации и практический опыт применения фильтров Калмана (EKF, UKF), графовой оптимизации или других методов слияния данных.
•Навыки низкоуровневой оптимизации кода, работы с кэшем, поиска утечек памяти и профилирования производительности (CPU).
•Опыт разработки ПО для компактных вычислителей в среде Linux (Ubuntu) или под управлением RTOS.
•Базовые знания Python для чтения прототипов, анализа логов или работы с математическими моделями.
•Уверенное владение Git, CMake, Docker и понимание работы интерфейсов (UART, SPI, I2C, CAN).
•Владение английским языком на уровне чтения технической документации.
Будет преимуществом
•Умение анализировать профильные научные статьи и переносить описанные алгоритмы в работающий код.
•Опыт работы с open-source автопилотами (ArduPilot, PX4).
•Опыт написания драйверов периферии для Linux или RTOS.
•Опыт работы с алгоритмами компьютерного зрения (Computer Vision / OpenCV).
Личные качества
•Способность самостоятельно проводить исследования и принимать архитектурные решения.
•Нацеленность на результат, умение доводить задачу до проверяемого кода и готовность отвечать за стабильность своих функций.
•Готовность работать в тесном контакте с разработчиками железа.
Мы предлагаем
•Достойную зарплату (уровень обсуждается по результатам собеседования).
•Оформление в соответствии с ТК РФ.
•Современный комфортный офис.
•Гибкое начало рабочего дня.
•Компенсацию затрат на спортивные активности, профильные курсы и конференции.
•ДМС.