Ведущий системный программист Embedded Linux
Прямой работодатель Инжиниринговый центр железнодорожного транспорта ( ecrt.ru )
Опыт работы от 3 до 5 лет
В компании необходимо обеспечить создание и поддержку дистрибутивов ОС Linux встраиваемых систем управления железнодорожным подвижным составом (дисплеи, вычислительные модули), архитектурно-зависимой части системного программного обеспечения, драйверов.
Основные обязанности:
- сборка и поддержка образов ОС Linux оптимизированных под применяемые аппаратные решения;
- разработка драйверов, модификация существующих драйверов под применяемые аппаратные решения;
- разработка, поддержка и развитие системного и сервисного ПО под Linux для управления применяемыми аппаратными решениями.
- взаимодействие с разработчиками прикладного ПО систем управления;
- разработка и согласование программной и технической документации в рамках функциональных обязанностей;
Возможные, дополнительные задачи:
- создание шаблонов программных проектов прикладного ПО, помощь в интеграции прикладного программного кода, например, автогенерируемого из MatLab;
- подготовка рабочего места разработчика ПО (создание образа виртуальной машины): среда разработки, компилятор, набор инструментальных средств, для разработки, отладки (включая удаленную отладку на целевой системе) и проверки ПО;
- подбор сотрудников для расширения команды.
Требования:
- образование – высшее техническое или математическое;
- знания принципов работы ОС и ядра Linux (версии 4.x, 5.x);
- умение адаптировать/создать файл devicetree под определенные аппаратные решения;
- опыт сборки ядра Linux под определенные аппаратные решения;
- опыт программирования на языках С/C++ под Linux не менее 3-х лет;
- опыт разработки драйверов устройств для Linux;
- опыт работы с системами контроля версий (Git, SVN);
- работа в команде.
Желательно (будет плюсом):
- опыт работы с системами реального времени;
- знание и опыт работы с сетевыми технологиями: Ethernet (TCP/IP, UDP), CAN (CANOpen);
- опыт разработки на Qt;
- базовые знания цифровой схемотехники;
- опыт работы с отладочным оборудованием;
- умение придерживаться стиля кодирования;
- знание технического английского языка на уровне позволяющем читать техническую документацию (datasheets, user guides, reference manuals).