11.11.2022 20:35
Ведущий С++ разработчик
11.11.2022 20:35
Основные требования: Опыт работы от 3 лет Умение работать в команде в условиях коллективного владения кодом, аккуратность, ответственность, широкий кругозор Нацеленность на долгосрочное сотрудничество Высшее техническое образование Хорошее знание английского языка (для общения на технические темы и документирования работы) Опыт промышленной разработки больших и сложных приложений на языках C/C++ от 3-5 лет Владение основными средствами разработки, контроля версий (git + pull requests), issue-tracking, continuous integration, continuous delivery, рефакторинга и контроля качества кода Умение разобраться в чужой архитектуре и чужом коде и способность развивать и улучшать существующий код Опыт системной разработки bare-metal и/или RTOS (RTEMS, FreeRTOS) Опыт разработки для микроконтроллеров и/или FPGA Программирование по прерываниям, понимание организации многозадачности в микроконтроллерах и RTOS, понимание работы кэшей Умение читать схемы Опыт работы с осциллографом Опыт использования аппаратных средств отладки (JTAG) Дополнительные (желательные) требования: Представление о спутниковой навигации Опыт прикладной разработки для RTOS систем и желание ей заниматься в дополненные к системным задачам в периодах между запусками новых версий ASIC Знание основных принципов построения архитектуры (coupling vs cohesion, композиция, наследование), знание принципов объектно-ориентированного программирования (SOLID), знание шаблонов проектирования Опыт оптимизации кода по производительности и памяти, опыт анализа проблем в работе ПО на встроенных системах Опыт разработки API c документацией Опыт программирования для Sparc Опыт разработки под RTEMS Опыт разработки драйверов для контроллеров Опыт программирования RTC Опыт работы с SPI, i2c Опыт работы с UART Опыт работы с OpenAMP, mailbox Знание особенностей UDP, TCP/IP, FTP Опыт программирования протоколов передачи Опыт работы с CAN Знакомство с HDL, опыт программирования FPGA Знакомство с программированием DSP (Blackfin, CEVA) Опыт использования автоматического unit тестирования Опыт использования статических анализаторов Знание cmake Глубокое знание языка С++, включая шаблоны С++ Опыт работы по стандарту Functional Safety (ISO 26262) Какой-нибудь опыт разработки для Linux Сотрудник должен иметь возможность и желание приезжать в офис, так как иногда приходится работать с оборудованием. Работа после испытательного срока сейчас разрешена гибридная, но желательно регулярно появляться в офисе, хотя бы 2 дня в неделю. Должностные обязанности: Работа в команде Анализ исходных требований, уточнение поставленных задач, разработка оптимальных решений, оценка трудоемкости Разработка внутренней структуры ПО, поддержка существующего кода, добавление новой функциональности Системная разработка под архитектуру Sparc LEON как bare-metal, так и для операционной системы RTEMS 5 для собственного ASIC компании Развитие загрузчика u-boot с поддержкой файловых систем для загрузки образов и с возможностью обновлений прошивки по разным интерфейсам Доработка существующих и написание новых драйверов для контроллеров таких как NAND, SD, CAN, Ethernet, USB Разработка bare-metal тестовых процедур дня настройки DDR контроллера и тестирования HW подсистем Поддержка подсистемы обмена данными между LEON и ARM посредством OpenAMP Развитие и документирование API для использования другими программистами для управления устройствами по шинам SPI, i2c Диагностика аппаратных проблем в сотрудничестве с разработчиками ASIC и разработчиками других подсистем Диагностика ошибок исполнения как с использованием stack trace так и аппаратных средств отладки ОПИСАНИЕ ПРОЕКТА Это коммерческий проект ПО для своих GNSS приемников, у которого было уже много релизов для пользователей. Помимо обычного развития ПО (исправление дефектов, добавление новой функциональности) также, в силу специфики Embedded регулярно нашим программистам приходится «переезжать» на новые аппаратные платформы, что приводит к тому, что большой объем аппаратно-зависимого кода приходится создавать с нуля. Основная часть кода просто развивается, это довольно крупный проект, десятки мегабайт кода. Мы все еще находимся в процессе освоения очередной новой аппаратной платформы, потом будет несколько лет развития на ее основе пока наши HW разработчики будут проектировать следующий ASIC. Наши программисты начинают осваивать новые ASIC на ранних этапах, обычно с использованием прототипов на основе Xilinx. Разработка ведется на C++ (gcc9) под ОС «rtems 5». В процессе работы также требуется сотрудничество с командой разработчиков Линукс на уровне интерфейсов, для этого знание разработки под Линукс необязательно. В данный момент у нас есть как задачи для работы с hw (микроконтроллеры и другая периферия, подключенная по SPI, i2c), так и более прикладные задачи, требующие знания С++ выше среднего. Дефицит ресурсов по прикладным задачам у нас выше, поэтому скорее мы хотели бы видеть программиста с хорошим знанием С++, не боящегося разработки для RTOS. С другой стороны, хорошего системного программиста мы возьмем с удовольствием. У нас хороший процесс разработки, есть большие инвестиции в автоматическое тестирование, ежедневные сборки, continuous integration, куплены инструменты статического анализа кода.
Адрес
Москва
Похожие вакансии
По договоренности
14.11.2022 07:56
компания "bell integrator" основные требования: опыт работы от 3 лет умение работать в команде в условиях коллективного владения кодом, аккуратность, ...
Партнерские Вакансии
Москва
По договоренности
11.11.2022 20:35
Основные требования: Опыт работы от 3 лет Умение работать в команде в условиях коллективного владения кодом, аккуратность, ответственность, широкий кругозор ...