Роли · Systems Programmer (C/C++) · Middle

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

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

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

11ключевых навыков
83дополнительных навыков
5областей
1%на уровне Продвинутый или Эксперт
Оценить себя как Middle Полная матрица роли

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

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

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

Применяет алгоритмы для системного ПО: B-tree для FS, hash tables с open addressing, cache-oblivious algorithms. Оценивает hardware-specific complexity.

Применяет системные паттерны: Flyweight для memory optimization, Reactor для I/O multiplexing, Chain of Responsibility для packet processing.

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

Применяет системные структуры: arena allocators, intrusive lists, radix trees, concurrent hash maps. Оптимизирует memory layout для cache.

Управляет памятью: custom allocators (pool, slab, arena), memory-mapped files, huge pages. Анализирует через Valgrind и perf.

Облако и инфраструктура · 1

Основы сетей Применение

Понимает внутреннее устройство стека TCP/IP на уровне ОС — настройку буферов сокетов, алгоритмы управления перегрузкой и оптимизацию сетевых параметров ядра. Настраивает TLS/SSL для реализаций кастомных протоколов. Работает с низкоуровневыми сетевыми примитивами, включая raw-сокеты и создание пакетов. Понимает внутреннее устройство разрешения DNS и распространение TTL. Отлаживает сетевые проблемы с использованием tcpdump, Wireshark и eBPF-трассировки сети.

DevOps и CI/CD · 1

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

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

Архитектура и проектирование · 1

Основы System Design Применение

Проектирует системные компоненты с правильными абстракциями: HAL, platform abstraction, API contracts. Применяет layered architecture для ядерных подсистем и драйверов.

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

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

Самостоятельно проводит review драйверов и ядерных модулей. Обращает внимание на race conditions, корректность обработки ошибок, правильное использование API ядра и memory barriers.

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

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

Алгоритмы на графахАппаратные интерфейсыАрхитектура CPUВиртуализацияДженерики и параметрический полиморфизмДокументирование APIИндексирование БДИнструменты отладкиИнтеграционное тестированиеКросс-компиляцияЛинкер и загрузчикОбработка прерыванийОбработка сигналов (embedded)Операционные системыОптимизация компилятораОсновы функционального программированияПрактики безопасного кодаПринципы ООП и SOLIDПрограммирование на CПрограммирование реального времениПрофилирование и бенчмаркингПрофилирование кодаПрофилирование памятиПрофилирование производительностиРазработка драйверовРазработка прошивокРазработка ядра ОСРазработка RTOSСертификация безопасностиСинхронизация потоковСистемное программирование на GoСтатический анализСтруктурированное логированиеТестирование embeddedТипобезопасность и системы типовУправление памятью (системное)Чистый кодAST и IR ManipulationAWSBare Metal программированиеBare Metal ProgrammingBenchmarking ToolsC для EmbeddedC++ для EmbeddedChatGPT / ClaudeCode GenerationCompiler Optimization PassesCPU ProfilingCursor IDEDockerDSL Design и ImplementationFrontend компилятораGit AdvancedGitHub CopilotGraphQL DesignI/O и Disk ProfilingInterpreter DesignJIT CompilationKubernetes CoreLanguage Server ProtocolLatency OptimizationLexing и ParsingLLVM FrameworkLow-Latency системыMemory ProfilingOpenTelemetryOWASP и безопасность приложенийPerformance BudgetsPostgreSQLPrometheus и GrafanaPrompt Engineering для кодаReal-Time Systems DesignRedisResource Optimization FinOpsREST API DesignRTOS FundamentalsRustRust для EmbeddedTerraformThroughput OptimizationType Inference и Type CheckingUnit-тестированиеUnit-тестирование

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

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

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

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