Разработчик С++, Москва.

▷ Работодатель: Bell Integrator (профиль,отзывы)
💰 From 0 RUR. | Режим: office | 10

* This listing is inactive or archived *

Проект: Topcon Positioning. Это коммерческий проект ПО для своих GNSS приемников, у которого было уже много релизов для пользователей.

Помимо обычного развития ПО (исправление дефектов, добавление новой функциональности) также, в силу специфики Embedded регулярно нашим программистам приходится «переезжать» на новые аппаратные платформы, что приводит к тому, что большой объем аппаратно зависимого кода приходится создавать с нуля. Основная часть кода просто развивается, это довольно крупный проект, десятки мегабайт кода.

Мы все еще находимся в процессе освоения очередной новой аппаратной платформы, потом будет несколько лет развития на ее основе пока наши HW разработчики будут проектировать следующий ASIC.

Наши программисты начинают осваивать новые ASIC на ранних этапах, обычно с использованием прототипов на основе Xilinx.

Разработка ведется на C++ (gcc9) под ОС «rtems 5». В процессе работы также требуется сотрудничество с командой разработчиков Линукс на уровне интерфейсов, для этого знание разработки под Линукс необязательно.

В данный момент у нас есть как задачи для работы с hw (микроконтроллеры и другая периферия, подключенная по SPI, i2c), так и более прикладные задачи, требующие знания С++ выше среднего. Дефицит ресурсов по прикладным задачам у нас выше, поэтому скорее мы хотели бы видеть программиста с хорошим знанием С++, не боящегося разработки для RTOS. С другой стороны, хорошего системного программиста мы возьмем с удовольствием.

У нас хороший процесс разработки, есть большие инвестиции в автоматическое тестирование, ежедневные сборки, continuous integration, куплены инструменты статического анализа кода.

Требования:

  • Опыт промышленной разработки больших и сложных приложений на языках 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 документацией
  • Опыт программирования для Spark
  • Опыт разработки под RTEMS
  • Опыт разработки драйверов для контроллеров
  • Опыт программирования RTC
  • Опыт работы с SPI, i2c
  • Опыт работы с UART
  • Опыт работы с OpenAMP, mailbox
  • Знание особенностей UDP, TCP/IP, FTP
  • Опыт программирования протоколов передачи
  • Опыт работы с CAN
  • Знакомство с HDL, опыт программирования FPGA
  • Знакомство с программированием DSP (Blackfin, CEVA)
  • Опыт использования автоматического unit тестирования
  • Опыт использования статических анализаторов
  • Знание cmake
  • Глубокое знание языка С++, включая шаблоны С++
  • Опыт работы по стандарту Functional Safety (ISO 26262)
  • Какой-нибудь опыт разработки для Linux
  • Сотрудник должен иметь возможность и желание приезжать в офис, так как иногда приходится работать с оборудованием.

Обязанности:

  • Работа в команде
  • Анализ исходных требований, уточнение поставленных задач, разработка оптимальных решений, оценка трудоемкости
  • Разработка внутренней структуры ПО, поддержка существующего кода, добавление новой функциональности
  • Системная разработка под архитектуру 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 так и аппаратных средств отладки
  • Условия:
  • Возможность профессионального и карьерного роста в компании, возможность поучаствовать в разных проектах;
  • Опыт работы в распределенной команде профессионалов;
  • Уровень заработной платы, соответствующий Вашим пожеланиям;
  • Бесплатные обеды в офисе компании;
  • Современная техника и рабочее место;
  • Работа в офисе (м. Павелецкая). После испытательного срока возможен гибрид.
http://bellintegrator.ru
C/C++SQLGitLinuxООП

Created: .
Expires after: .
Responses: 18

Откликнуться на вакансию  Работодатель: профиль,отзывы