Программист С++ (автономная навигация / робототехника)
Описание
Ищем 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). Личные качества: • Способность самостоятельно проводить исследования и принимать архитектурные решения. • Нацеленность на результат, умение доводить задачу до проверяемого кода и готовность отвечать за стабильность своих функций. • Готовность работать в тесном контакте с разработчиками железа. Мы предлагаем: • Достойную зарплату (уровень обсуждается по результатам собеседования). • Оформление в соответствии с ТК РФ. • Современный комфортный офис. • Гибкое начало рабочего дня. • Компенсацию затрат на спортивные активности, профильные курсы и конференции. • ДМС.