О компании
Команда разрабатывает ПО микроконтроллеров для блоков управления автономными автомобилями. Работает с несколькими автомобильными платформами и создаёт ПО для устройств, которые напрямую подключаются к CAN-сетям автомобиля.
Обязанности
- Руководить командой и развивать её: планировать работу, оценивать сроки, делегировать задачи с учётом опыта и нагрузки разработчиков, помогать им расти через менторство и разбор технических решений, разрешать технические споры, принимать архитектурные решения и улучшать процессы разработки.
- Согласовывать требования от системных инженеров, проектировать архитектуру прикладного ПО и разрабатывать его с применением RTOS.
- Адаптировать ПО устройств под протоколы обмена конкретных автомобильных платформ.
- Проектировать обработку отказов и поведение устройств в аварийных ситуациях, проверять сценарии в тестах и проводить код-ревью.
- Вместе с командой интегрировать и отлаживать ПО на реальных автомобилях, участвовать в испытаниях, находить причины проблем при взаимодействии с автомобильными системами и устранять их.
- Лично участвовать в разработке и отладке ПО, помогать разработчикам решать сложные технические задачи и осваивать новые навыки.
- Разрабатывать надёжное ПО с учётом требований ISO 26262 и правил MISRA; внедрять процессы разработки ПО из автоиндустрии, писать unit-тесты и функциональные тесты для HIL-стендов, автоматизировать сборку и тестирование проектов в CI, проверять работу ПО на реальных автомобилях и разбирать проблемы.
Требования
- Опыт руководства командой разработки от трёх человек: делегирование задач, распределение нагрузки и помощь разработчикам в профессиональном росте.
- Умение планировать работу команды, оценивать сроки, разрешать конфликты и обсуждать разногласия.
- Опыт разработки ПО для современных микроконтроллеров и применения RTOS.
- Опыт работы с CAN.
- Уверенное владение C и C++.
- Знание алгоритмов и структур данных, применение принципов SOLID и паттернов проектирования.
- Уверенное владение системами контроля версий.
- Способность самостоятельно принимать технические решения или делать это с помощью экспертов.
- Умение читать техническую документацию на английском языке.
- Будет плюсом: опыт работы в автомобильной индустрии, интеграции ПО с автомобильными платформами и их CAN-сетями; настройка и использование CI/CD; работа в Unix-подобном окружении и с консольными инструментами; разработка скриптов автоматизации на Bash или Python; работа с Docker; знакомство с системами сборки, например Make; умение читать принципиальные схемы; разговорный английский.
Условия
- Требуется от трёх лет опыта.