Общее
Наша команда разрабатывает ПО микроконтроллеров для блоков управления автономными автомобилями. Наша цель — делать надёжное программное обеспечение, которое удовлетворяет требованиям мировых автомобильных стандартов.
Для этого мы:
— Внедряем процессы разработки ПО, используемые в автоиндустрии
— Пишем unit-тесты для нашего кода и функциональные тесты для HIL-стендов
— Используем контур CI для автоматизации сборки и тестирования наших проектов
Какие задачи вас ждут:
Разработка архитектуры программно-аппаратных решений
Embedded-ПО отличается тем, что о причинах ошибок во время выполнения программы может никто не узнать, и любой сбой в поведении устройства будет вызывать удивление. Мы проектируем ПО так, чтобы можно было проанализировать каждый сбой и найти причину его возникновения, — и вы сможете участвовать в этом процессе.
Разработка ПО для микроконтроллеров
Вы будете работать с современными контроллерами ARM, применять RTOS, писать код взаимодействия с сенсорами, контроллерами и актуаторами автомобилей. А ещё при отладке ПО вам предстоит управлять автономным автомобилем.
Проверка разрабатываемых решений
Нужно будет писать unit-тесты к своему коду и функциональные тесты для HIL-стендов, участвовать в разработке самих стендов для автоматизированного тестирования ПО. Предстоит интегрировать выполнение тестов в контур CI. Ваш код будет проходить ревью, а вы будете проводить ревью кода коллег.
Мы ждём, что вы
- Уверенно пишете на С и C++
- Знаете классические алгоритмы, структуры данных и шаблоны проектирования
- Работали с современными контроллерами ARM
- Имели дело с интерфейсами и протоколами: CAN, RS232/RS485, Ethernet, SPI, I2C
- Знакомы с системами контроля версий
- Понимаете особенности применения операционных систем реального времени (RTOS) в проектах
- Читаете принципиальные схемы
- Читаете документацию на английском языке
- Умеете работать в команде
Будет плюсом, если вы
- Работали в Unix-подобном окружении
- Имели дело с консольным программным обеспечением
- Знакомы с системами сборки (Make и другими)
- Разрабатывали скрипты автоматизации на Bash или Python
- Работали с Docker
- Работали в автомобильной индустрии
- Понимаете принципы CI/CD
- Имеете опыт в ЦОС, настраивали ПИД-регуляторы
- Понимаете Assembler для ARM
- Владеете разговорным английским языком