Roles · Systems Programmer (C/C++) · Mid-level

What a Mid-level } should know

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

This page lists what a Mid-level } 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
1%at Advanced or Expert
Assess myself as Mid-level Full role matrix

Core skills for a Mid-level

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

Programming Fundamentals · 7

Applies algorithms for system software: B-tree for FS, hash tables with open addressing, cache-oblivious algorithms. Evaluates hardware-specific complexity.

Applies async I/O: io_uring for Linux, completion-based I/O, coroutines (C++20/Rust async). Designs event loop architectures.

Applies quality tools: sanitizers (ASAN/MSAN/TSAN/UBSAN), static analysis (clang-tidy), fuzzing for edge cases.

Data Structures Working

Applies system data structures: arena allocators, intrusive lists, radix trees, concurrent hash maps. Optimizes memory layout for cache.

Design Patterns Working

Applies system patterns: Flyweight for memory optimization, Reactor for I/O multiplexing, Chain of Responsibility for packet processing.

Manages memory: custom allocators (pool, slab, arena), memory-mapped files, huge pages. Analyzes via Valgrind and perf.

Multithreading Working

Applies concurrent programming: reader-writer locks, thread pools, atomic operations, memory ordering (acquire/release/seq_cst).

Cloud & Infrastructure · 1

Understands TCP/IP stack internals at the OS level — socket buffer tuning, congestion control algorithms, and kernel network parameter optimization. Configures TLS/SSL for custom protocol implementations. Works with low-level network primitives including raw sockets and packet crafting. Understands DNS resolution internals and TTL propagation. Debugs network issues using tcpdump, Wireshark, and eBPF network tracing.

DevOps & CI/CD · 1

Designs CI/CD pipelines from scratch. Configures caching for build acceleration. Uses matrix builds for multi-version testing. Sets up deployment pipelines (staging → production). Works with secrets and environment variables.

Architecture & System Design · 1

Designs system components with proper abstractions: HAL, platform abstraction, API contracts. Applies layered architecture for kernel subsystems and drivers.

Version Control & Collaboration · 1

Code Review Working

Independently conducts driver and kernel module reviews. Focuses on race conditions, error handling correctness, proper kernel API usage, and memory barriers.

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 Senior

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

See the Senior 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.