← Все вакансии/Lead/Яндекс
LeadFlexible

Embedded Software Engineer

Я
Яндекс
Уровень
Lead
Формат
Flexible
О роли

Описание вакансии

О компании

Команда разрабатывает ПО микроконтроллеров для блоков управления автономными автомобилями. Работает с несколькими автомобильными платформами и создаёт ПО для устройств, которые напрямую подключаются к CAN-сетям автомобиля.

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

С чем работаем