Роли · Embedded Developer · Middle

Что должен уметь Middle }

23 ключевых навыков, всего 57. Ожидания по каждому навыку и что меняется на следующем уровне.

На этой странице — что ожидается от Middle }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, DevOps и CI/CD, Тестирование и QA.

23ключевых навыков
34дополнительных навыков
6областей
2%на уровне Продвинутый или Эксперт
Оценить себя как Middle Полная матрица роли

Ключевые навыки для Middle

Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.

Основы программирования · 6

Применяет алгоритмы для embedded: ring buffers, state machines, CRC-расчёты. Оценивает сложность с учётом тактов процессора и cache miss.

Применяет статический анализ (cppcheck, PC-lint), пишет doxygen-документацию. Проводит self-review, следует MISRA C guidelines.

Структуры данных Применение

Применяет embedded-специфичные структуры: static pool allocators, circular buffers, fixed-size hash maps. Избегает heap fragmentation.

Управляет памятью на embedded: custom allocators, memory pools, stack watermark monitoring. Избегает fragmentation, анализирует map-файл.

DevOps и CI/CD · 1

GitHub Actions / GitLab CI Продвинутый

Проектирует CI/CD pipelines с нуля. Настраивает caching для ускорения builds. Использует matrix builds для тестирования на разных версиях. Настраивает deployment pipelines (staging → production). Работает с secrets и environment variables.

Тестирование и QA · 1

Unit-тестирование Применение

Пишет unit-тесты для embedded-модулей: mocking HAL через function pointers, тестирование state machines, protocol parsers. Достигает > 60% coverage.

Контроль версий и коллаборация · 2

Code Review Применение

Проводит review embedded-кода: проверяет memory safety, interrupt correctness, peripheral configuration. Даёт аргументированную обратную связь.

Git Advanced Применение

Применяет Git workflow: feature branches, interactive rebase, cherry-pick для hotfix. Использует git submodules для HAL/SDK зависимостей.

Embedded и IoT · 10

Bare Metal Programming Применение

Самостоятельно разрабатывает bare-metal firmware: настройка PLL, конфигурация периферии через регистры, реализация boot sequence на Cortex-M.

BLE и Wireless Применение

Самостоятельно разрабатывает BLE-устройства: custom GATT services, bonding/pairing, connection parameter optimization. Анализирует пакеты через sniffer.

C для Embedded Применение

Самостоятельно пишет драйверы периферии на C для STM32/nRF52. Использует volatile, битовые маски, прямой доступ к регистрам через CMSIS.

C++ для Embedded Применение

Применяет C++17 для embedded: constexpr-вычисления, type-safe обёртки над регистрами, CRTP для HAL. Избегает dynamic allocation и exceptions.

Embedded Debugging Применение

Применяет продвинутую отладку: ITM trace, SWO viewer, Segger RTT, watchpoint на memory access. Использует осциллограф для timing-анализа.

GPIO, ADC, DAC Применение

Самостоятельно конфигурирует GPIO alternate functions, ADC с DMA multi-channel scan, DAC с timer trigger. Калибрует ADC для точных измерений.

MQTT Protocol Применение

Реализует MQTT-коммуникации: QoS 1/2, retained messages, last will, topic hierarchy design. Оптимизирует reconnect и keep-alive для нестабильных сетей.

Real-Time Systems Design Применение

Проектирует soft real-time системы с предсказуемым поведением. Анализирует worst-case execution time, применяет Rate Monotonic Scheduling.

RTOS Fundamentals Применение

Самостоятельно проектирует multi-task системы на FreeRTOS/Zephyr. Применяет mutex, event groups, software timers. Отлаживает race conditions через трассировку.

SPI / I2C / UART Protocols Применение

Самостоятельно конфигурирует SPI/I2C/UART на уровне регистров. Реализует DMA-передачу, обрабатывает ошибки bus collision, настраивает baud rate.

Performance Engineering · 3

CPU Profiling Применение

Применяет продвинутое профилирование: Segger SystemView для task profiling, ETM trace для instruction-level analysis, hotspot detection.

Latency Optimization Применение

Оптимизирует latency: приоритизация прерываний, размещение кода в RAM (ITCM), tail-chaining прерываний, cache configuration.

Resource Optimization FinOps Применение

Оптимизирует ресурсы: code size через dead code elimination, RAM через static allocation, power через sleep modes и peripheral clock gating.

Дополнительные навыки

Команда их не оценивает, но они входят в самооценку и план развития.

Документирование APIИндексирование БДИнтеграционное тестированиеОсновы сетейОсновы System DesignПаттерны проектированияПрактики безопасного кодаПринципы ООП и SOLIDПрофилирование памятиСтруктурированное логированиеТипобезопасность и системы типовAWSBenchmarking ToolsChatGPT / ClaudeCursor IDEDockerEmbedded CI/CDGitHub CopilotGraphQL DesignI/O и Disk ProfilingIoT SecurityKubernetes CoreMemory ProfilingOpenTelemetryOWASP и безопасность приложенийPostgreSQLPrometheus и GrafanaPrompt Engineering для кодаRedisREST API DesignRust для EmbeddedTCP/IP Deep DiveTDD и BDDTerraform

Что меняется на Senior

57 навыков получают более высокое ожидание или становятся ключевыми при переходе с Middle на Senior. Сначала самые большие скачки.

Страница Senior →
Прогоните это со всей командой
Самооценка плюс оценка руководителя и коллег по одной матрице, зоны роста и готовность к следующему уровню для каждого инженера. Team Pro бесплатно 14 дней; личные инструменты бесплатны всегда.
Попробовать с командой (14 дней бесплатно) Отправить тимлиду

} в открытой матрице компетенций: 57 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.