Москва
Офис
Команда: Автономный транспорт
Описание
Наша цель — разрабатывать надёжное ПО с учётом требований ISO 26262 и правил MISRA. Для этого мы: Внедряем процессы разработки ПО из автоиндустрии Развиваем общую архитектуру ПО, драйверы и сервисы RTOS Пишем unit-тесты и развиваем инфраструктуру HIL-стендов для функционального тестирования Автоматизируем сборку и тестирование проектов в CI Вы будете «играющим тренером»: предстоит руководить командой и лично участвовать в разработке и отладке ПО. Нужно будет помогать разработчикам решать сложные технические задачи и осваивать новые навыки.
Какие задачи вас ждут
Управление командой и её развитие Вам предстоит планировать работу команды, оценивать сроки и делегировать задачи с учётом опыта и нагрузки разработчиков. Вы будете помогать им расти через менторство и разбор технических решений, а также разрешать технические споры, принимать архитектурные решения и улучшать процессы разработки. Технические задачи Вы будете развивать общую архитектуру Embedded ПО: определять границы между системными и прикладными компонентами и проектировать их интерфейсы. Необходимо создавать общие компоненты, которые команды используют в разных устройствах. Мы работаем с многоядерными микроконтроллерами — это возможность углубить экспертизу в архитектуре Embedded ПО. Вам предстоит решать задачи распределения работы между ядрами, межъядерного взаимодействия и синхронизации с учётом требований реального времени. Вместе с командой вы будете разрабатывать драйверы, сервисы RTOS и загрузчики. Понадобится выполнять bring-up новых плат — запускать и отлаживать на них базовое ПО и периферию. Вам предстоит развивать системы сборки и контур CI, автоматизировать сборку и тестирование проектов, создавать и сопровождать инфраструктуру HIL-стендов. Вы будете согласовывать изменения общих компонентов с командами прикладной разработки, проверять системное ПО в тестах и проводить код-ревью. Больше о разработке в Яндексе — в канале Yandex for Developers
Мы ждём, что вы
Руководили командой разработки от трёх человек, умеете делегировать задачи, распределять нагрузку и помогать разработчикам расти Планировали работу команды и оценивали сроки, умеете разрешать конфликты и обсуждать разногласия Разрабатывали ПО для современных микроконтроллеров и применяли RTOS в проектах Работали с интерфейсами обмена данными, например с UART, SPI, I2C, CAN или Ethernet Настраивали и использовали CI/CD Уверенно пишете на C и C++ Знаете алгоритмы и структуры данных, применяете SOLID и паттерны проектирования Уверенно владеете системами контроля версий Принимаете технические решения самостоятельно или с помощью экспертов Читаете техническую документацию на английском языке
Будет плюсом, если вы
Работали в Unix-подобном окружении и с консольными инструментами Разрабатывали скрипты автоматизации на Bash или Python, работали с Docker Работали в автомобильной индустрии Читаете принципиальные схемы Владеете разговорным английским языком