Аминьевское шоссе 4А
Вычислитель — это сердце автопилота робота-доставщика. На нём работают наши основные алгоритмы и сходятся все потоки данных. Мы стремимся внедрять в него самые передовые и надёжные решения.
Для программной поддержки этих решений и их интеграции в автопилот нам в команду разработки системного программного обеспечения нужен разработчик, который поможет развивать и улучшать нашу платформу.
Какие задачи вас ждут
Запуск новых вычислительных платформ
Вам предстоит проводить bring-up новых вычислительных платформ, собирать образ операционной системы, обеспечивать на первом этапе загрузку системы, а на втором — безопасную загрузку с шифрованием и защитой программных компонентов от копирования и несанкционированного доступа.
Поддержка нового оборудования
Наш робот несёт на борту широкий спектр оборудования и сенсоров, подключённых по различным интерфейсам и интегрирующихся в систему на различных уровнях. Вам предстоит заниматься интеграцией и конфигурацией такого оборудования, как модемы, Wi-Fi-модули, камеры, SSD, GNSS, сетевые устройства. В зависимости от устройства и его подключения вам предстоит реализовывать поддержку как в модулях ядра и device-tree Linux, так и в user-space, писать скрипты и сервисы, настраивать интерфейсы и синхронизацию, реализовывать поддержку в соответствии с API оборудования.
Разработка с нуля и доработка Linux-драйверов для различных устройств и интерфейсов
Наш вычислитель работает на Linux, нам важно обеспечить connectivity системы. Вам предстоит проводить оценку совместимости оборудования с нашей системой, дорабатывать или писать с нуля драйверы, интегрировать существующие, добиваться стабильной и надёжной работы оборудования.
Мы ждем, что вы
- Владеете С или C++ и писали на Python, Bash
- Разбираетесь в архитектуре Linux
- Работали с системами ввода/вывода Linux (I/O)
- Понимаете принципы работы компьютерных сетей, работали с основными сетевыми протоколами
- Разрабатывали на уровне U-Boot и ядра Linux: писали, дорабатывали, интегрировали драйверы
- Работали с DeviceTree
Будет плюсом, если вы
- Проводили bring-up новых устройств
- Работали со встраиваемыми системами на базе ARM или с другими embedded-платформами
- Реализовывали безопасную загрузку системы (Secure Boot)
- Работали с интерфейсами USB, UART, CAN, Ethernet
- Работали с телекомом или устройствами связи
- Знаете принципы TDD, CI/CD, DevOps