| Embedded Developer | Устройство как программно-аппаратная система | Пишет прошивку, работает с MCU, памятью, периферией, RTOS/Linux, протоколами и диагностикой | Рабочее устройство или модуль, который стабильно ведёт себя на плате | C/C++, MCU, UART/SPI/I2C/CAN, debug, datasheet, RTOS/Linux | Это базовая роль: она соединяет код, железо, протоколы и эксплуатацию устройства. |
| Firmware Engineer | Прошивка устройства | Разрабатывает и сопровождает firmware, bootloader, обновления, low-level drivers и recovery-сценарии | Версия прошивки с диагностикой, обновлением и безопасным поведением при сбое | C, C++, bootloader, watchdog, flash, update, rollback | Часто почти синоним embedded, но сильнее акцент на прошивке, обновлениях и жизненном цикле firmware. |
| C/C++ Developer | Приложение, библиотека или сервис на C/C++ | Пишет производительный код без обязательной привязки к плате, периферии и измерениям | Библиотека, сервис, desktop/server-компонент или системный модуль | C++, STL, memory, concurrency, build, tests | Может не работать с регистрами, даташитами, JTAG/SWD, питанием и реальными сигналами. |
| System Programmer | ОС, runtime, системные библиотеки, низкоуровневые компоненты | Работает ближе к ОС, драйверам, памяти, сетевому стеку и производительности | Системный компонент или библиотека | C/C++, Linux, memory, concurrency, kernel/user-space | Ближе к системному ПО; embedded чаще ограничен конкретным устройством и периферией. |
| Linux Kernel / Driver Developer | Ядро Linux и драйверы | Пишет или меняет драйверы, device tree, kernel modules, board support | Драйвер или поддержка платы в Linux | C, Linux kernel, device tree, interrupts, buses, debugging | Это более узкая Linux-низкоуровневая специализация внутри embedded/системного поля. |
| IoT Developer | Устройство плюс сеть, облако и данные | Связывает датчики, прошивку, протоколы, телеметрию, gateway и backend | IoT-решение с передачей данных и управлением устройством | MQTT, TCP/IP, BLE, embedded, cloud/backend basics | Фокус шире устройства: много работы с телеметрией, связью и серверной интеграцией. |
| Robotics Engineer | Робот, движение, сенсоры и управление | Работает с приводами, сенсорами, control loop, ROS, восприятием и механикой | Роботизированный модуль или система управления | C/C++, Python, control, sensors, ROS, embedded | Embedded — один из слоёв; robotics добавляет механику, управление и поведение системы. |
| Electronics Engineer | Схема и аппаратная часть | Проектирует схемы, выбирает компоненты, трассирует, измеряет сигналы и проверяет электрические параметры | Плата, схема, BOM, измерения и аппаратные исправления | Electronics, PCB, схемотехника, приборы, EMC | Пишет меньше firmware; отвечает прежде всего за железо, а не за программную логику. |
| Hardware Engineer | Аппаратная платформа продукта | Проектирует и сопровождает плату, компоненты, интерфейсы, питание и производство | Рабочая аппаратная ревизия | Схемотехника, PCB, питание, интерфейсы, производство | Embedded-разработчик использует и диагностирует железо, но не всегда проектирует его. |
| Hardware Test Engineer | Проверка платы и устройства | Строит стенды, тесты, измерения, регрессии и производственные проверки | Тестовый стенд, отчёт, критерии приёмки | Приборы, Python, test bench, protocols, logs | Ближе к QA/тестированию железа; embedded-разработчик чаще пишет саму прошивку. |
| Computer Vision Engineer | Изображения, видео и модели зрения | Обучает и внедряет CV-модели, работает с камерами, метриками и inference | Модель или pipeline для обработки изображений | Python, OpenCV, PyTorch, metrics, deployment | Может работать на edge-устройстве, но главный объект — визуальная модель, а не firmware и периферия. |