Название: Старший инженер-программист C++
Компания: N-iX
Местоположение: Украина
Мы ищем опытного Старшего инженера-программиста C++ для участия в проекте в области встраиваемых систем машинного зрения и для внесения вклада в разработку передовой платформы управления дорожным движением на основе сенсорного слияния (sensor fusion) и архитектуры на базе ROS2.
Эта роль сфокусирована на создании и поддержке основных компонентов приложения на современном C++, интеграции датчиков и внешних интерфейсов, а также на разработке надежного, высокопроизводительного программного обеспечения для сложных сценариев управления дорожным движением.
Успешный кандидат будет самостоятельно работать над сложными задачами разработки, участвовать в принятии архитектурных и технических решений, проводить ревью кода и помогать обеспечивать масштабируемость, поддерживаемость и производительность платформы.
Основные обязанности
- Проектирование и реализация основных компонентов приложения на C++ в системе на базе ROS2.
- Разработка и поддержка высококачественного программного обеспечения с использованием современного C++ (C++17/20).
- Интеграция различных датчиков, внешних интерфейсов и сторонних компонентов в существующую систему.
- Разработка распределенных, компонентно-ориентированных приложений с использованием pub/sub и обмена сообщениями.
- Участие в принятии решений по архитектуре и дизайну ПО, оценка технических решений и обеспечение поддерживаемых и повторно используемых решений.
- Разработка модульных и интеграционных тестов для обеспечения качества, надежности и стабильности ПО.
- Участие в ревью кода и предоставление конструктивной технической обратной связи.
- Выявление и реализация оптимизации производительности с фокусом на производительность в рантайме и эффективное использование ресурсов.
- Отладка и решение сложных проблем в среде разработки Linux, включая профилирование и анализ производительности.
- Поддержка образов контейнеров и конфигураций сборки для сред разработки и целевых сред.
- Тесное сотрудничество с другими разработчиками, архитекторами и заинтересованными сторонами проекта.
- Предоставление технического руководства и наставничества менее опытным разработчикам.
Требуемые навыки и опыт
- Опыт профессиональной разработки ПО более 5 лет, со значительным опытом в C++.
- Высокий уровень владения современным C++ (C++17/20).
- Глубокое понимание управления памятью, параллелизма, многопоточности и разработки критически важных к производительности приложений.
- Опыт разработки роботизированных приложений с использованием ROS2.
- Практический опыт интеграции нескольких датчиков в сложные программные системы.
- Понимание архитектуры ROS2 и распределенных/компонентно-ориентированных систем.
- Опыт работы с pub/sub или обменом сообщениями и распределенными системами.
- Глубокое понимание принципов архитектуры и дизайна ПО.
- Опыт написания модульных и интеграционных тестов.
- Сильные навыки разработки под Linux, включая отладку, профилирование и анализ производительности.
- Значительный опыт работы с Git и совместными рабочими процессами разработки ПО.
- Опыт работы с Docker и контейнеризованными средами разработки/сборки.
- Сильные аналитические навыки, навыки решения проблем и отладки.
- Способность работать самостоятельно и брать на себя ответственность за сложные технические задачи.
- Хорошее владение английским языком.
Приветствуется
- Практический опыт работы с ROS2 и разработка ROS2-узлов.
- Опыт работы с Python, особенно для неосновных ROS2-узлов, инструментария или тестирования.
- Опыт работы с Yocto / Embedded Linux.
- Знание Kubernetes и Helm.
- Опыт работы с CI/CD пайплайнами, особенно Jenkins или GitLab CI.
- Понимание концепций машинного обучения, применяемых к восприятию и принятию решений.
- Опыт работы с операционными системами реального времени и концепциями программирования реального времени.
- Опыт работы с системами управления дорожным движением, мониторинга дорожного движения или правоприменения в области дорожного движения.
Над чем вы будете работать
В рамках проекта в области встраиваемых систем машинного зрения вы внесете вклад в сложную платформу сенсорного слияния (sensor-fusion), предназначенную для обработки сложных дорожных ситуаций и перекрестков. Вашим основным направлением будет разработка надежных и высокопроизводительных C++ компонентов в существующей экосистеме ROS2, а также интеграция с датчиками и другими компонентами системы.
У вас будет возможность влиять на технические решения, участвовать в принятии архитектурных решений и работать над программным обеспечением, где производительность, надежность, масштабируемость и возможности реального времени имеют первостепенное значение.
Мы предлагаем*:
- Гибкий формат работы — удаленно, в офисе или гибкий
- Конкурентная заработная плата и хороший компенсационный пакет
- Персональное карьерное развитие
- Инструменты профессионального развития (программа наставничества, технические семинары и тренинги, центры компетенций и др.)
- Активные технические сообщества с регулярным обменом знаниями
- Компенсация обучения
- Памятные подарки к годовщинам
- Корпоративные мероприятия и тимбилдинги
- Другие льготы, зависящие от местоположения
*не применимо к фрилансерам