Roles · Systems Programmer (C/C++) · Junior

What a Junior } should know

11 core skills, 94 in total. Expectations per skill, and what changes at the next level.

This page lists what a Junior } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Cloud & Infrastructure, DevOps & CI/CD.

11core skills
83additional skills
5skill areas
0%at Advanced or Expert
Assess myself as Junior Full role matrix

Core skills for a Junior

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 7

Understands Big-O notation, basic sorting and search algorithms. Analyzes complexity considering cache effects and real hardware.

Async Programming Awareness

Understands async primitives: select/poll/epoll, non-blocking I/O, callback-based programming. Writes simple async servers.

Follows coding standards for C++/Rust: formatting (clang-format/rustfmt), naming conventions. Writes documented code.

Data Structures Awareness

Knows data structures for system software: arrays, linked lists, hash maps, trees. Understands memory layout and cache-line alignment.

Design Patterns Awareness

Knows patterns for system software: RAII, Pimpl, Singleton for global state, Observer for event systems. Applies under guidance.

Memory Management Awareness

Understands memory model: virtual memory, page tables, stack vs heap. Knows malloc/free internals, memory alignment.

Multithreading Awareness

Understands POSIX threads: thread creation, mutex, condition variables. Knows memory ordering basics and data races.

Cloud & Infrastructure · 1

Understands HTTP/HTTPS, DNS basics, TCP vs UDP. Knows ports, IP addresses, localhost. Can use curl for API testing.

DevOps & CI/CD · 1

Understands CI/CD concepts: build, test, deploy. Uses existing workflows. Can add a step to existing pipeline. Knows how to check failed build logs.

Architecture & System Design · 1

Understands basic system design principles: modularity, abstraction, encapsulation, separation of concerns. Applies them when designing simple system components.

Version Control & Collaboration · 1

Code Review Awareness

Participates in system code review: checks style, finds simple bugs (memory leaks, uninitialized variables). Learns from mentor to spot typical kernel code bugs.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

API DocumentationAST & IR ManipulationAWSBare Metal ProgrammingBare Metal ProgrammingBenchmarking Tools & MethodologyC for EmbeddedC ProgrammingC++ for EmbeddedChatGPT / ClaudeClean CodeCode GenerationCode ProfilingCompiler FrontendCompiler OptimizationCompiler Optimization PassesCPU ArchitectureCPU ProfilingCross-CompilationCursor IDEDatabase IndexingDebugging ToolsDockerDriver DevelopmentDSL Design & ImplementationEmbedded TestingFirmware DevelopmentFunctional Programming PrinciplesGenerics & Parametric PolymorphismGit AdvancedGitHub CopilotGraph AlgorithmsGraphQL DesignHardware InterfacesI/O & Disk ProfilingIntegration TestingInterpreter DesignInterrupt HandlingJIT CompilationKernel DevelopmentKubernetes CoreLanguage Server Protocol (LSP)Latency OptimizationLexing & ParsingLinker & LoaderLLVM FrameworkLow-Latency SystemsMemory ProfilingMemory ProfilingOOP & SOLID PrinciplesOpenTelemetryOperating SystemsOWASP & Application SecurityPerformance BudgetsPerformance ProfilingPostgreSQLProfiling & BenchmarkingPrometheus & GrafanaPrompt Engineering for CodeReal-Time ProgrammingReal-Time Systems DesignRedisResource Optimization FinOpsREST API DesignRTOS DevelopmentRTOS Fundamentals: FreeRTOS, ZephyrRust for EmbeddedRust LanguageSafety CertificationSecure Coding PracticesSignal Processing (Embedded)Static AnalysisStructured LoggingSystems Memory ManagementSystems Programming in GoTerraformThread SynchronizationThroughput OptimizationType Inference & Type CheckingType Safety & Type SystemsUnit TestingUnit TestingVirtualization

What changes at Mid-level

94 skills get a higher expectation or become core when moving from Junior to Mid-level. The biggest jumps first.

See the Mid-level page →
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 94 skills across 5 levels. The matrix is free for individuals and stays free.