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

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

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

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

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

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

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

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

Алгоритмы и сложность Осведомлённость

Понимает O-нотацию, базовые алгоритмы сортировки и поиска. Анализирует сложность с учётом cache-эффектов и реального hardware.

Следует coding standards для C++/Rust: форматирование (clang-format/rustfmt), naming conventions. Пишет документированный код.

Паттерны проектирования Осведомлённость

Знает паттерны для системного ПО: RAII, Pimpl, Singleton для global state, Observer для event systems. Применяет под руководством.

Структуры данных Осведомлённость

Знает структуры данных для системного ПО: arrays, linked lists, hash maps, trees. Понимает memory layout и cache-line alignment.

Управление памятью Осведомлённость

Понимает модель памяти: virtual memory, page tables, stack vs heap. Знает malloc/free internals, memory alignment.

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

Основы сетей Осведомлённость

Понимает HTTP/HTTPS, DNS basics, TCP vs UDP. Знает, что такое порты, IP-адреса, localhost. Может использовать curl для тестирования API.

DevOps и CI/CD · 1

GitHub Actions / GitLab CI Применение

Понимает концепции CI/CD: build, test, deploy. Использует готовые workflows. Может добавить шаг в существующий pipeline. Знает, как посмотреть логи failed build.

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

Основы System Design Осведомлённость

Понимает базовые принципы системного дизайна: модульность, абстракция, инкапсуляция, separation of concerns. Применяет их при проектировании простых системных компонентов.

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

Code Review Осведомлённость

Участвует в code review системного кода: проверяет стиль, ищет простые ошибки (утечки памяти, неинициализированные переменные). Учится у наставника замечать типичные баги ядерного кода.

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

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

Алгоритмы на графахАппаратные интерфейсыАрхитектура 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-тестирование

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

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

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

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