Ведущий инженер-разработчик ПО (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 (м.Павелецкая/Пролетарская/Крестьянская застава)