Designs high-performance algorithms: SIMD-accelerated, cache-aware, branch-free. Applies amortized analysis for memory allocators.
Roles · Systems Programmer (C/C++) · Senior
What a Senior } should know
41 core skills, 94 in total. Expectations per skill, and what changes at the next level.
This page lists what a Senior } 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.
Core skills for a Senior
Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.
Programming Fundamentals · 12
Designs high-performance async systems: custom runtime with io_uring, zero-allocation async, structured concurrency.
Introduces quality infrastructure: continuous fuzzing (OSS-Fuzz), formal verification tools, code coverage for critical paths.
Designs custom data structures: lock-free queues (MPSC/MPMC), memory-mapped B+ trees, SIMD-friendly AoS vs SoA layouts.
Designs with advanced patterns: Actor model, zero-copy pipeline, lock-free observer, compile-time strategy via template specialization.
Designs systems architectures leveraging FP for correctness: type-state patterns to enforce protocols at compile time, linear types for resource management, and pure functional cores with thin unsafe boundaries. Mentors team on balancing FP purity with zero-cost abstractions in hot paths.
Architects generic abstractions for systems infrastructure: designs generic allocator interfaces and type-parameterized memory pools with compile-time size validation via const generics. Implements generic lock-free data structures with correct Send/Sync bounds, applies generic specialization patterns for SIMD-optimized code paths. Evaluates monomorphization costs in large-scale systems — manages binary bloat through strategic use of trait objects, type-erased wrappers, and generic function outlining techniques.
Designs lock-free concurrent graph structures for kernel-level resource management and I/O scheduling. Architects memory-efficient graph representations for large-scale network routing tables and page cache dependency tracking. Mentors developers on advanced algorithms for garbage collection tracing, device tree traversal, and interrupt affinity graphs.
Designs memory management: jemalloc/mimalloc tuning, NUMA-aware allocation, transparent huge pages, memory compaction strategies.
Has deep expertise in OS-level memory profiling, optimizing kernel allocator configurations, minimizing page fault overhead, and tuning memory-mapped I/O for production systems. Reduces system call overhead through custom allocation strategies.
Designs lock-free systems: MPMC queues on atomics, hazard pointers, epoch-based reclamation. Applies formal verification (ThreadSanitizer).
Has deep expertise in systems-level type safety — designs type-safe kernel interfaces with zero-cost abstractions, implements compile-time state machine verification through typestate patterns, and leverages type-level programming for memory layout guarantees. Architects type-safe FFI boundaries and hardware abstraction layers. Mentors team on unsafe code auditing, type-driven correctness proofs, and balancing type system expressiveness with compilation performance.
Cloud & Infrastructure · 2
Designs infrastructure solutions with Docker. Optimizes cost and performance. Introduces best practices and security hardening.
Designs high-performance network stacks for systems-level applications — kernel bypass with DPDK/io_uring, custom protocol implementations, and zero-copy networking. Configures service mesh internals and understands eBPF-based network programming. Masters gRPC internals, HTTP/2 flow control, and QUIC transport. Designs DNS resolver implementations and optimizes network latency at the syscall level.
DevOps & CI/CD · 1
Designs CI/CD platform for multiple projects. Creates reusable workflows/templates. Optimizes build time at organizational level. Configures security scanning in pipeline. Introduces deployment strategies (blue-green, canary). Integrates with ArgoCD/FluxCD.
Testing & QA · 1
Designs testing strategy for systems software: test pyramid for kernel/driver/userspace layers, sanitizer-based testing (ASan/MSan/TSan), stress testing for concurrency correctness. Optimizes test execution with QEMU-based test environments. Mentors team on testing safety-critical systems code.
Architecture & System Design · 1
Designs complex system architectures: microkernel vs monolith tradeoffs, multi-layer HAL, cross-platform abstraction. Ensures backward compatibility and extensibility.
Version Control & Collaboration · 1
Conducts architectural review of system components. Verifies lock ordering, memory safety, ABI compatibility. Identifies subtle concurrency bugs and memory model violations.
Compilers & Languages · 9
Designs custom IR representations optimized for target architectures. Architects multi-pass compilation pipelines with advanced optimizations. Mentors engineers on type system integration and IR correctness proofs.
Designs code generation backends targeting custom hardware and specialized ISAs. Architects auto-vectorization and SIMD code emission strategies. Mentors engineers on low-level optimization and hardware-software co-design.
Designs compiler passes and optimizations with Compiler Optimization Passes. Works with type systems. Mentors the team.
Designs DSLs for performance-critical domains such as networking rules and memory management policies. Architects DSL compilation to optimized native code with zero-overhead abstractions. Mentors engineers on language design for systems programming contexts.
Designs high-performance interpreter runtimes with inline caching and speculative optimization. Architects FFI layers and native code interop for interpreter integration with system libraries. Mentors engineers on VM internals, GC tuning, and runtime correctness.
Designs compiler passes and optimizations with JIT Compilation. Works with type systems. Mentors the team.
Designs LSP server architecture with advanced features: semantic analysis, cross-project indexing, and custom protocol extensions. Mentors team on type system integration and incremental compilation for editor tooling.
Designs compiler front-end architectures with custom lexer generators and GLR/Earley parsers for complex grammars. Implements source-map-preserving transformations and mentors team on formal language theory.
Designs type-safe abstractions for system-level APIs that enforce correctness at compile time. Evaluates and influences type system design decisions in languages like Rust, contributing to safer systems programming patterns.
Embedded & IoT · 6
Has deep expertise in Bare Metal Programming. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Has deep expertise in C for Embedded. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Has deep expertise in C++ for Embedded. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Has deep expertise in Real-Time Systems Design. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Has deep expertise in RTOS Fundamentals: FreeRTOS, Zephyr. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Has deep expertise in Rust for Embedded. Designs solutions for production systems. Optimizes and scales. Mentors the team.
Performance Engineering · 8
Architects production-grade benchmarking infrastructure for systems software with automated regression detection and performance tracking. Designs benchmarks simulating real-world hardware interactions and kernel-level behavior. Implements performance budgets and gates in release pipelines. Mentors team on systems performance analysis.
Designs CPU profiling solutions for low-level systems including OS kernels, hypervisors, and embedded firmware. Leverages PMU events, PEBS, and LBR for microarchitectural analysis. Optimizes critical code paths based on cache hierarchy behavior and pipeline stall analysis. Mentors team on advanced profiling techniques.
Designs advanced I/O profiling using custom eBPF programs and kernel tracepoints. Optimizes I/O paths at block device, filesystem, and VFS layers for production. Implements zero-copy and direct I/O strategies. Mentors engineers on diagnosing complex I/O latency issues across the full storage stack.
Designs ultra-low-latency system architectures: kernel bypass networking (DPDK, io_uring), real-time scheduling policies, and memory-mapped I/O for zero-copy data paths. Implements deterministic latency guarantees through CPU isolation and interrupt steering. Designs latency measurement infrastructure with nanosecond precision. Mentors team on hardware-aware optimization techniques.
Designs comprehensive memory profiling strategies for systems software including kernel subsystems, runtimes, and high-performance services. Builds custom memory tracking frameworks integrating perf, eBPF memory probes, and jemalloc introspection APIs. Optimizes memory layouts for cache efficiency using profiling-driven data structure redesign. Mentors the team on diagnosing complex issues like false sharing, NUMA-aware allocation, and transparent huge page behavior.
Designs end-to-end performance budget systems for OS-level and infrastructure software: per-subsystem CPU budgets, memory allocation strategies with hard limits, I/O scheduling budgets and interrupt latency targets. Optimizes critical paths using cache-line analysis and NUMA-aware allocation. Mentors the team on hardware-aware performance engineering and budget enforcement.
Designs efficient resource management subsystems: custom allocators, zero-copy I/O pipelines, and NUMA-aware scheduling. Optimizes kernel-level resource utilization for high-performance workloads. Mentors team on systems-level performance tuning.
Designs kernel-bypass architectures using DPDK or io_uring for line-rate packet processing. Builds lock-free queue systems that scale across NUMA nodes with minimal cache-line bouncing. Implements custom batch processing engines with adaptive coalescing that dynamically balance latency against throughput based on load profiles and hardware topology constraints.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
What changes at Lead
92 skills get a higher expectation or become core when moving from Senior to Lead. The biggest jumps first.
- Algorithms & Complexity: Advanced → Expert
- AST & IR Manipulation: Advanced → Expert
- Async Programming: Advanced → Expert
- Bare Metal Programming: Advanced → Expert
- Benchmarking Tools & Methodology: Advanced → Expert
- C for Embedded: Advanced → Expert
- C++ for Embedded: Advanced → Expert
- Code Generation: Advanced → Expert
- Code Quality & Refactoring: Advanced → Expert
- Code Review: Advanced → Expert
} in the open competency matrix: 94 skills across 5 levels. The matrix is free for individuals and stays free.