Домен
Embedded и IoT
Профиль навыка
C++ для embedded: zero-cost abstractions, RAII, templates, constexpr
Ролей
3
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
11
ещё 4 — необязательные
Embedded и IoT
Embedded-программирование
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Embedded Developer | Обязателен | Понимает основы управления памятью C++ для микроконтроллеров. Пишет простые драйверы и код доступа к периферии. Следует стандартам кодирования для встраиваемых safety-critical систем. |
| IoT Engineer | Использует C++ для реализации базовой логики прошивки IoT-сенсорных узлов. Понимает ограниченные по памяти среды и обработку прерываний. Работает с HAL-библиотеками под руководством. | |
| Systems Programmer (C/C++) | Применяет C++ для низкоуровневых системных задач, включая memory-mapped I/O и работу с регистрами. Понимает основы тулчейна: кросс-компиляцию, линкер-скрипты и отладку через JTAG/SWD. |
| Роль | Обязательность | Описание |
|---|---|---|
| Embedded Developer | Обязателен | Применяет C++17 для embedded: constexpr-вычисления, type-safe обёртки над регистрами, CRTP для HAL. Избегает dynamic allocation и exceptions. |
| IoT Engineer | Применяет C++17 в embedded IoT с ограничениями: без exceptions, без RTTI, минимальный heap. Разрабатывает type-safe API для периферии с шаблонами и constexpr. | |
| Systems Programmer (C/C++) | Самостоятельно применяет C++ для Embedded на практике. Понимает trade-offs различных подходов. Решает типовые задачи. |
| Роль | Обязательность | Описание |
|---|---|---|
| Embedded Developer | Обязателен | Проектирует zero-cost abstraction HAL на C++ с шаблонами. Применяет compile-time полиморфизм, оптимизирует размер бинарника через LTO и -fno-rtti. |
| IoT Engineer | Обязателен | Проектирует C++ embedded-фреймворки для IoT-платформы. Использует CRTP, policy-based design для zero-cost абстракций. Обеспечивает предсказуемое время выполнения без аллокаций. |
| Systems Programmer (C/C++) | Обязателен | Глубоко владеет C++ для Embedded. Проектирует решения для production-систем. Оптимизирует и масштабирует. Менторит команду. |
| Роль | Обязательность | Описание |
|---|---|---|
| Embedded Developer | Обязателен | Определяет C++ subset для embedded-команды. Формирует guidelines по использованию STL, templates, memory management на ресурсоограниченных платформах. |
| IoT Engineer | Обязателен | Формирует стандарты C++ embedded разработки: MISRA C++, coding guidelines. Определяет архитектурные паттерны и библиотеки для переиспользования между IoT-проектами. |
| Systems Programmer (C/C++) | Обязателен | Определяет стратегию C++ для Embedded на уровне команды/продукта. Формирует стандарты и best practices. Проводит review. |
| Роль | Обязательность | Описание |
|---|---|---|
| Embedded Developer | Обязателен | Определяет enterprise-стандарт C++ для IoT-платформы. Формирует подходы к миграции legacy C-кода на modern C++, менторит архитекторов. |
| IoT Engineer | Обязателен | Определяет стратегию C++ embedded на уровне компании. Оценивает Rust vs C++ для новых IoT-проектов. Формирует platform architecture для семейства IoT-продуктов. |
| Systems Programmer (C/C++) | Обязателен | Определяет стратегию C++ для Embedded на уровне организации. Формирует enterprise-подходы. Менторит leads и architects. |