Ведущий инженер-разработчик ПО (Embedded Linux)

Местоположение и тип занятости

МоскваПолный рабочий день

Компания

Международная компания, специализирующаяся на консалтинге, технологических услугах и аутсорсинге

Описание вакансии

О компании и команде

Bell Integrator – один из ведущих системных интеграторов страны. Мы являемся аккредитованной ИТ-компанией.

На текущий момент с нами работает более 2500 высококлассных аналитиков, руководителей проектов, разработчиков, тестировщиков и специалистов по сопровождению крупных информационных систем. Bell Integrator активно реализует проекты по всей России, среди наших заказчиков – крупнейшие системообразующие финансовые, телеком и ритейл компании страны.

Центральный офис Bell Integrator расположен в Москве, представительства – в Нижнем Новгороде, Пензе, Саратове, Уфе, Минске (Беларусь).

Проект: Заказчик является ведущим мировым разработчиком и производителем оборудования для точного позиционирования. Компания предлагает широчайший выбор инновационных по точности ГНСС систем, лазерных, оптических и других геодезических инструментов, а также систем управления строительной техникой.


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

Работа в дружной команде разработчиков над следующими задачами:

  • Разработка приложений и сервисов в основном на языке С++ для платформы Embedded Linux (ARM), используемой в GNSS приемниках компании Topcon
  • Анализ исходных требований, уточнение поставленных задач, разработка оптимальных решений, оценка трудоемкости
  • Разработка внутренней структуры ПО, добавление новой функциональности, поддержка существующего кода
  • Разработка приложений (сервисов) на языке С++, обеспечивающих функциональность устройства: файловое хранилище, коммуникации (Cellular modem, WiFi, Bluetooth, VPN, DynDNS), automatic updates, IoT и других.
  • Развитие командного интерфейса управления оборудованием для поддержки разнообразной внутренней и внешней периферии
  • Разработка подсистемы внутренней коммуникации как между сервисами, с другими аппаратными компонентами устройств и с внешними аппаратными устройствами по разным интерфейсам
  • Разработка программной платформы для обеспечения запуска сторонних приложений (PlugIns), включая подготовку SDK и документирование
  • И конечно же отладка и диагностирование дефектов от группы тестирования и пользователей

Ожидания от кандидата

Требования:

  • Высшее техническое образование
  • Знание английского языка (для письменного общения на технические темы)
  • Опыт промышленной разработки на C++ от 2х лет
  • Умение разобраться в чужой архитектуре и чужом коде
  • Знание языка C++, стандартной библиотеки или библиотеки Boost, шаблонов С++.
  • Опыт разработки многопоточных приложений
  • Опыт оптимизации кода и анализа проблем в работе ПО на встроенных системах (отладка, профилирование, борьба с утечками памяти)
  • Опыт разработки ПО для Linux
  • Владение основными средствами разработки, контроля версий, issue-tracking, CI/CD, рефакторинга и контроля качества кода
  • Знание английского языка (для письменного общения на технические темы)

Желательно:

  • Знание основных принципов построения архитектуры (coupling vs cohesion, композиция, наследование), знание принципов объектно-ориентированного программирования (SOLID)
  • Способность и желание диагностировать проблемы HW на уровне ядра и драйверов Linux
  • Опыт кросс платформенной разработки
  • Знание других систем других языков программирования (например, Python)
  • Знание систем сборки для встроенных систем – Yocto или Buildroot
  • Наличие профиля на GitHub/GitLab/Leetcode

Условия работы

  • Возможность профессионального и карьерного роста в компании, возможность поучаствовать в разных проектах;
  • Опыт работы в распределенной команде профессионалов;
  • Уровень заработной платы, соответствующий Вашим пожеланиям;
  • Бесплатные обеды в офисе компании;
  • Современная техника и рабочее место;
  • Работа в офисе: Москва, Дербеневская наб., 7, стр. 22 (м.Павелецкая/Пролетарская/Крестьянская застава)