Реализует оптимизированные алгоритмы для MCU: fixed-point math, lookup tables, branch-free код. Профилирует через cycle counter (DWT).
Роли · Embedded Developer · Senior
Что должен уметь Senior }
23 ключевых навыков, всего 57. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, DevOps и CI/CD, Тестирование и QA.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 6
Проектирует async-архитектуру firmware: coroutine-based подход, cooperative scheduling, zero-copy DMA pipelines. Минимизирует ISR latency.
Внедряет инструменты качества: MISRA compliance checking, code coverage для firmware, automated code review. Формирует quality gates для CI.
Проектирует concurrent-архитектуру firmware: lock-free алгоритмы, ISR-safe коммуникации, priority ceiling protocol. Минимизирует critical sections.
Проектирует custom data structures для embedded: lock-free queues для ISR, memory-mapped structures, packed structs для протоколов.
Проектирует memory management стратегию: MPU configuration, memory-mapped I/O, scatter-loading, placement в специфичных RAM секциях (CCM, DTCM).
DevOps и CI/CD · 1
Проектирует CI/CD платформу для нескольких проектов. Создаёт reusable workflows/templates. Оптимизирует время build на уровне организации. Настраивает security scanning в pipeline. Внедряет deployment strategies (blue-green, canary). Интегрирует с ArgoCD/FluxCD.
Тестирование и QA · 1
Проектирует test architecture для firmware: hardware abstraction для testability, test doubles для peripherals, property-based тесты.
Контроль версий и коллаборация · 2
Ведёт глубокий review: timing analysis, resource usage, safety implications. Менторит junior/middle через review, создаёт review checklist.
Управляет сложными Git-сценариями: monorepo для firmware + tools, git-bisect для regression hunting, Git LFS для бинарных assets.
Embedded и IoT · 10
Проектирует bare-metal архитектуру для production-устройств. Реализует собственный scheduler, power management, watchdog recovery, OTA-обновления.
Проектирует BLE mesh-сети и multi-connection архитектуры. Оптимизирует power consumption в BLE, реализует OTA DFU, интегрирует с BLE 5.3 features.
Проектирует HAL-уровень на C для семейств MCU. Оптимизирует код под ограничения Flash/RAM, применяет DMA и прерывания для высокопроизводительных задач.
Проектирует zero-cost abstraction HAL на C++ с шаблонами. Применяет compile-time полиморфизм, оптимизирует размер бинарника через LTO и -fno-rtti.
Проектирует debug-инфраструктуру: custom fault handlers, core dump extraction, post-mortem analysis. Применяет Segger SystemView для RTOS profiling.
Проектирует системы сбора аналоговых данных: oversampling, digital filtering, ADC calibration pipeline. Оптимизирует power consumption через GPIO configuration.
Проектирует MQTT-архитектуру для IoT-флота: shared subscriptions, bridge между брокерами, MQTT 5.0 features. Обеспечивает TLS и client certificates.
Проектирует hard real-time системы с гарантированными deadline. Применяет formal timing analysis, оптимизирует interrupt latency, использует hardware timers.
Проектирует архитектуру RTOS-приложений с гарантированным response time. Оптимизирует stack allocation, применяет priority inversion protection, настраивает tickless idle.
Проектирует высокопроизводительные коммуникации: multi-slave SPI с chip select mux, I2C bus recovery, UART с custom protocol и CRC.
Performance Engineering · 3
Проектирует CPU profiling инфраструктуру: continuous performance monitoring, automated regression benchmarks, power/performance correlation.
Проектирует ultra-low latency системы: deterministic ISR, zero-wait-state memory access, DMA chaining, предсказуемый scheduling.
Проектирует resource-efficient firmware: function-level power management, adaptive clock scaling, memory overlay techniques.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
56 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Многопоточное программирование: Продвинутый → Эксперт
- Структуры данных: Продвинутый → Эксперт
- Управление памятью: Продвинутый → Эксперт
- Bare Metal Programming: Продвинутый → Эксперт
- BLE и Wireless: Продвинутый → Эксперт
- C для Embedded: Продвинутый → Эксперт
- C++ для Embedded: Продвинутый → Эксперт
} в открытой матрице компетенций: 57 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.