Москва
Московское центральное кольцо станция Нижегородская
Московское центральное кольцо станция Нижегородская
Сейчас ищу Системного Программиста С/С++ в компанию, которая занимается полным циклом предоставления услуг теплоснабжения, водоснабжения и вентиляции. Мы разрабатываем собственное ПО для обслуживания нашего оборудования, а наши клиенты - это государственные объекты инфраструктуры ( Метрополитен г.Москва, ПАО "МОЭК", OAO "РЖД"), а также коммерческие предприятия ( Москва-Сити, ВТБ-Арена, и пр.).
Задачи и обязанности:
- Разработка сервисов, обеспечивающих функциональность микропроцессорных приборов;
- Разработка приложений и сервисов для стендов проверки качества выпускаемой продукции;
- Разработка драйверов устройств и протоколов для наших ПЛК и приборов на платформе ARM c Linux;
- Поддержка системы управления приборов предыдущих поколений;
- Опыт и знания в схемотехнике и электронике будет плюсом (есть задачи оживления плат);
Обязательные требования:
- Опыт разработки приложений и сервисов на языке C/C++ от 3-х лет;
- Опыт разработки под ОС Linux и применения POSIX API (сокеты, сигналы, потоки, синхронизация, таймеры);
- Опыт работы с ограниченностью ресурсов (память и тд.);
- Опыт оптимизации программ на уровне: алгоритмов, особенностей исполнения программы на целевой платформе, особенностей работы компилятора;
- Опыт проектирования и разработки архитектуры;
- Понимание основ кросс-компиляции программ и особенностей их отладки;
- Наличие основных навыков работы с командным интерпретатором Linux (любым);
Не обязательно, но будет преимуществом, если у вас имеется:
- Опыт участия в разработке систем автоматического управления, встраиваемых систем, систем диспетчеризации промышленного оборудования или IoT;
- Опыт разработки надёжных систем автоматического распределённого управления и резервирования;
- Опыт программирования информационного обмена между устройствами посредством радиомодемов, опыт программного управления 2G/3G-модемами посредством AT-команд;
- Опыт написания frontend-компилятора на базе gcc или llvm;
- Минимальные знания языков ST и FBD (ГОСТ МЭК 61131-3 2016);
- Общее представление о сфере АСУ ТП;
- Хотя бы поверхностные знания протоколов OPC UA, MQTT, BACNet, Modbus;
- Знания Web-технологий;
- Умение программировать ARM микроконтроллеры, в том числе: умение собрать в Linux программу под этот контроллер, прошить её в память контроллера, а также способность самостоятельно производить отладку программы в контроллере;
- Знание основ электротехники и электроники, умение пользоваться: электрическими принципиальными схемами, осциллографом, мультиметром;
- Опыт работы с UART, GPIO, SPI, I2C, Ethernet, CAN, и т.п.;
- Использование отладчика (в том числе OpenOCD);
- Владение хотя бы на базовом уровне одним из скриптовых языков: Python, Ruby;
- Опыт написания сценариев командного интерпретатора bash (или другого);
- Разработка драйверов Linux, умение конфигурировать и собирать ядро Linux.
Условия работы:
- Гибкий график работы с полной занятостью и возможностью частично удалённой работы по истечении испытательного срока;
- Оформление по ТК РФ;
- Конкурентная заработная плата по результатам собеседования;
- Премии по результатам решения поставленных задач;
- Уютный офис в БЦ “Нижегородский”;
- Интересные и сложные проекты.