Обязанности
— Развивать сервис сбора данных на C++ под Linux: опрос устройств по Modbus RTU (RS-485) и Modbus TCP, декодирование регистров, метки времени, буферизация, передача данных дальше (WebSocket, REST, ClickHouse).
— Подключать новые типы датчиков и измерительных модулей: разбираться в документации, картах регистров и протоколах обмена.
— Работать с железом: подбирать и проверять датчики, преобразователи интерфейсов, модули АЦП и источники питания. Читать и при необходимости дорабатывать принципиальные схемы, собирать стенды.
— Искать неисправности на физическом уровне с осциллографом и логическим анализатором: сбои на шине, помехи, проблемы с питанием и заземлением.
— Развивать эмулятор датчиков и автотесты, чтобы разработка и CI шли без железа.
— Участвовать в пусконаладке на объектах.
— Вести документацию: схемы подключения, карты регистров, инструкции.
Требования
— Высшее техническое образование.
— Опыт работы от 3-х лет в компаниях, связанных с разработкой электроники, микропроцессорной техники и встраиваемых систем.
Необходимые знания и навыки:
— Коммерческий опыт на C++ от 3 лет: C++17/20, STL, многопоточность, RAII.
— Разработка под Linux: CMake, gcc/clang, gdb, работа с последовательными портами и сокетами.
— Знание RS-485 и Modbus RTU/TCP, в том числе на уровне провода: терминаторы, смещение линии, тайминги, CRC.
— Схемотехника на уровне инженера: чтение схем и даташитов, аналоговая и цифровая часть, питание, заземление, гальваническая развязка, основы АЦП (разрядность, частота дискретизации, шумы).
— Уверенная работа с мультиметром, осциллографом и логическим анализатором.
— Git и привычка писать тесты.
— Умение самостоятельно разбираться в чужом коде и плохо документированном оборудовании.
— Знание английского на уровне B2 для чтения технической документации.
Условия
— Конкурентоспособная заработная плата.
— Возможности для профессионального роста и развития.
— Дружный коллектив и комфортные условия труда.
— Социальные гарантии и полный пакет льгот.