Что это простыми словами

Systems Embedded Developer (или просто embedded-разработчик) — это инженер, который пишет программы для «умных» физических устройств: микроволновок, автомобильных датчиков, медицинских приборов, роботов, умных замков. Программы живут прямо внутри устройства — не на сервере и не в браузере, а в процессоре, который встроен в железку.

Аналогия: обычное приложение — это как ресторан на колесах, который ездит по городу и обслуживает клиентов. А embedded-программа — это кухня на борту корабля: всё работает автономно, ресурсы ограничены, и если что-то сломается — чинить придётся прямо в море. Именно поэтому embedded-разработчик отвечает за надёжность каждой строчки кода.

Официальное определение

Теперь, когда суть понятна, вот как эту роль описывают в вакансиях. Такую формулировку вы будете получать от заказчика и видеть в резюме.

«Embedded-разработчик — специалист, разрабатывающий программное обеспечение для встраиваемых систем, работающих на микроконтроллерах и микропроцессорах, с учётом ограничений ресурсов и требований к надёжности».

Разберём по словам. «Встраиваемая система» — это компьютер, спрятанный внутри другого устройства, который управляет им. «Микроконтроллер» — крошечный процессор, который может жить на чипе размером с ноготь. «Ограничения ресурсов» — мало памяти и слабая скорость, потому что устройство маленькое и дешёвое.

Что делает за обычный день

Пишет код, который заставляет устройство что-то делать: считать показания датчиков, управлять двигателем, передавать данные по радио, включаться и выключаться. Пишет на языках C или C++. Компилирует — переводит написанный код в машинные инструкции, которые понимает процессор. Отлаживает — ищет ошибки, подключаясь к устройству специальным кабелем. Работает с операционной системой реального времени (RTOS) — это лёгкая система, которая следит, чтобы критические задачи выполнялись точно в срок. Например, чтобы сигнал экстренного торможения в машине сработал мгновенно, а не через секунду.

Из чего состоит направление

Основа любого embedded-разработчика — это два языка. Чаще всего человек специализируется на одном из них, но хороший специалист знает оба:

Важно: C и C++ — родственные языки, но код на одном не работает на другом без переписывания. Опыт с одним очень помогает изучить другой, но это всё равно разные языки.

Инструменты простыми словами

Инструменты embedded-разработчика удобно разложить по четырем слоям — от самого важного при отборе к наименее важному.

Слой 1. Язык — фундамент, без него никуда.

Слой 2. Фреймворки и библиотеки — надстройка над языком. Опыт с аналогами переносится легко.

Слой 3. Операционные системы реального времени (RTOS)

Слой 4. Процессоры и инструменты разработки

CMake и GDB не привязаны к какому-то конкретному процессору — это общие инструменты, которые встречаются почти везде.

Что взаимозаменяемо, а что путать нельзя

RTOS-системы (FreeRTOS, Zephyr, RTEMS) взаимозаменяемы — кто работал с одной, быстро освоит другую. Отбраковывать по конкретной RTOS не нужно.

А вот процессоры — это уже серьёзнее. STM32 и ESP32 имеют разную архитектуру, и разработчик, привыкший к одному, может столкнуться с трудностями при переходе на другой. Но опыт в embedded в целом — большой плюс, просто уточните, с какими чипами работал кандидат.

Уровни: junior / middle / senior

Уровень (его ещё называют грейд) — это не столько годы, сколько самостоятельность.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.

Как узнать роль в резюме

Ищите в разделе «стек» или «навыки» названия языков C и C++ — это основной маркер. Далее смотрите, есть ли слова вроде FreeRTOS, STM32, ESP32, Linux kernel, RTOS — это подтверждает, что человек действительно работал с встраиваемыми системами. Хороший признак — упоминание оборудования: платы, датчики, интерфейсы (UART, SPI, I2C), протоколы связи. Если в стеке только Python или JavaScript — это, скорее всего, не embedded-разработчик, а специалист из другой области.

Что спросить на первичном скрининге

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.

Частые путаницы и красные флаги