Algorithms & Data Structures 2
▼
Understands Big-O notation, basic sorting and search algorithms. Analyzes complexity considering cache effects and real hardware.
Applies algorithms for system software: B-tree for FS, hash tables with open addressing, cache-oblivious algorithms. Evaluates hardware-specific complexity.
Defines algorithmic standards for the systems team. Establishes library of optimized primitives, conducts critical path reviews.
Defines enterprise algorithmic strategy. Establishes reference implementations for system components, mentors architects.
Knows data structures for system software: arrays, linked lists, hash maps, trees. Understands memory layout and cache-line alignment.
Applies system data structures: arena allocators, intrusive lists, radix trees, concurrent hash maps. Optimizes memory layout for cache.
Defines data structure standards for the systems team. Establishes library of concurrent/cache-optimized containers.
Defines enterprise approach to data structures. Creates reference library for all organizational system products.
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.
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.
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.
Clean Code & Refactoring 1
▼
Follows coding standards for C++/Rust: formatting (clang-format/rustfmt), naming conventions. Writes documented code.
Applies quality tools: sanitizers (ASAN/MSAN/TSAN/UBSAN), static analysis (clang-tidy), fuzzing for edge cases.
Defines code quality strategy for the systems team. Establishes sanitizer policy, fuzzing targets, coverage requirements.
Defines enterprise code quality standards for system software. Establishes approaches to formal verification, mentors leads.
Code Review 1
▼
Participates in system code review: checks style, finds simple bugs (memory leaks, uninitialized variables). Learns from mentor to spot typical kernel code bugs.
Independently conducts driver and kernel module reviews. Focuses on race conditions, error handling correctness, proper kernel API usage, and memory barriers.
Defines code review process for the systems team. Creates checklists for kernel code, drivers, and safety-critical module reviews, trains the team on effective review practices.
Shapes enterprise code review culture for the systems division. Defines review SLA, effectiveness metrics, integrates automated analysis into review pipeline.
Compiler Theory 2
▼
Reads and navigates AST structures generated by compiler frontends. Understands the mapping between source code and IR representations. Modifies simple IR transformations following established patterns.
Implements IR passes for optimization and lowering in compiler pipelines. Works with SSA form and control flow graphs for program analysis. Writes regression tests ensuring transformation correctness across edge cases.
Defines compiler architecture. Establishes development standards. Coordinates the compiler team.
Defines compiler/language development strategy. Designs core language features. Establishes technology vision.
Understands the fundamentals of Compiler Optimization Passes. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently implements Compiler Optimization Passes. Works with IR and optimizations. Writes compiler tests.
Defines compiler architecture. Establishes development standards. Coordinates the compiler team.
Defines compiler/language development strategy. Designs core language features. Establishes technology vision.
Concurrency & Parallelism 3
▼
Understands async primitives: select/poll/epoll, non-blocking I/O, callback-based programming. Writes simple async servers.
Applies async I/O: io_uring for Linux, completion-based I/O, coroutines (C++20/Rust async). Designs event loop architectures.
Defines async strategy for the systems team. Establishes async runtime guidelines, conducts async architecture reviews.
Defines enterprise async strategy. Establishes reference async runtime for system products, mentors architects.
Understands POSIX threads: thread creation, mutex, condition variables. Knows memory ordering basics and data races.
Applies concurrent programming: reader-writer locks, thread pools, atomic operations, memory ordering (acquire/release/seq_cst).
Defines concurrency strategy for the systems team. Establishes lock-free primitives library, conducts concurrent code reviews.
Defines enterprise concurrency strategy. Establishes reference concurrent architecture for high-performance systems.
Understands basic synchronization primitives: mutex, semaphore, condition variable. Uses pthread API for thread synchronization, knows about race conditions and deadlocks.
Confidently applies synchronization in system code: spinlocks, RCU, read-write locks. Understands memory ordering (acquire/release), uses atomic operations for counters and flags.
Defines synchronization strategy for the systems platform. Establishes guidelines for primitive selection (spinlock vs mutex vs RCU), lock ordering rules, conducts concurrency reviews.
Shapes enterprise concurrency strategy for system software. Defines approaches to lock-free programming, memory model compliance, mentors leads on concurrent system design.
Embedded Programming 9
▼
Understands the fundamentals of Bare Metal Programming. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently develops bare-metal systems: PLL initialization, MPU configuration, DMA transfers. Writes bootloaders and firmware for specific platforms with direct register access.
Defines bare-metal development architectural standards for the product line. Establishes strategy for porting between ARM/RISC-V architectures, leads review of critical system components.
Shapes enterprise bare-metal platform strategy. Defines approaches to safety-critical bare-metal system certification (IEC 61508), mentors lead architects in low-level software.
Knows C basics: pointers, structs, memory management via malloc/free. Writes simple system utilities and kernel modules under mentor guidance, understands undefined behavior.
Confidently programs in C at system level: works with function pointers, volatile, bit fields. Writes drivers and kernel modules following coding standards.
Defines C coding standards for the systems team. Introduces MISRA C/CERT C, establishes guidelines for safe memory management and UB prevention in kernel modules.
Shapes enterprise C usage strategy in organizational system software. Defines approaches to C11/C17 migration, codebase certification, mentors lead architects.
Understands basic CPU architecture: registers, pipeline, operating modes (user/kernel). Knows ARM Cortex-M and x86 architecture basics, studies instruction set under mentor guidance.
Proficient in target CPU architecture: cache hierarchy (L1/L2/L3), TLB, branch prediction. Optimizes code for microarchitecture, understands platform memory ordering model.
Defines architectural decisions considering target CPU specifics. Establishes optimization guidelines for specific microarchitectures, conducts critical code reviews.
Shapes enterprise CPU architecture support strategy. Evaluates new ISAs for company products, defines approaches to porting between ARM/x86/RISC-V, mentors experts.
Understands the fundamentals of Driver Development. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently develops drivers: platform drivers, I2C/SPI/UART, DMA work. Uses device tree for configuration, handles interrupts and manages power state.
Defines driver subsystem architecture for the platform. Establishes driver development standards, review process, upstreaming strategy to mainline kernel.
Shapes enterprise driver development strategy. Defines approaches to driver certification (WHQL, safety standards), manages driver stack for multiple product lines.
Understands the fundamentals of Firmware Development. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently develops firmware: implements OTA updates, dual-bank boot, watchdog recovery. Manages flash memory with wear leveling, implements persistent configuration.
Defines firmware strategy for the product line. Establishes OTA update standards, versioning, rollback policy, manages firmware signing infrastructure.
Shapes enterprise firmware strategy for the organization. Defines approaches to mass firmware deployment, certification (FIPS 140-2), manages firmware security lifecycle.
Understands interrupt mechanism: vector table, priorities, ISR. Writes simple interrupt handlers for timers and GPIO, understands interrupt context vs thread context.
Independently designs interrupt handling systems: top-half/bottom-half, tasklet/workqueue, threaded IRQ. Configures interrupt affinity, minimizes handling latency.
Defines interrupt handling strategy for the platform. Establishes interrupt latency budget guidelines, conducts ISR code reviews for correctness and performance.
Shapes enterprise approach to interrupt architecture. Defines real-time interrupt processing standards for safety-critical systems, mentors leads on interrupt subsystem design.
Understands the fundamentals of Kernel Development. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently develops kernel modules: works with VFS, memory management API, scheduling. Understands RCU, spinlocks, completion, uses kernel debugging infrastructure.
Defines kernel component architecture for the platform. Establishes kernel customization strategy, conducts kernel patch reviews, coordinates upstream contributions.
Shapes enterprise kernel development strategy. Defines kernel version policy, LTS strategy, approaches to custom kernel for products, mentors lead kernel developers.
Understands core OS concepts: processes, threads, scheduling, file systems. Works with Linux: process management, file descriptors, signals, basic system calls.
Proficient in OS internals: VFS layer, process scheduler (CFS), memory management subsystem. Modifies kernel subsystems, analyzes behavior via ftrace/perf.
Defines OS component development strategy for the platform. Establishes custom OS distribution architecture, conducts kernel subsystem reviews, manages kernel configuration.
Shapes enterprise OS strategy for the organization. Defines approaches to custom Linux distribution, RTOS selection, manages kernel component lifecycle for product lines.
Understands the fundamentals of Rust for Embedded. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently applies Rust for Embedded in practice. Understands trade-offs of different approaches. Solves typical tasks independently.
Defines Rust for Embedded strategy at team/product level. Establishes standards and best practices. Conducts reviews.
Defines Rust for Embedded strategy at organizational level. Establishes enterprise approaches. Mentors leads and architects.
Embedded Tools 1
▼
Gets familiar with debugging tools: GDB for user-space programs, dmesg for kernel messages, strace for system calls. Debugs simple bugs under mentor guidance.
Confidently uses debugging tools: GDB remote debugging, KGDB for kernel, JTAG for bare-metal. Applies Valgrind, AddressSanitizer for memory corruption detection.
Defines debugging strategy for the systems team. Establishes kernel problem diagnostic runbooks, introduces crash dump infrastructure, trains the team on advanced debugging.
Shapes enterprise debugging infrastructure for system software. Defines crash analysis, tracing, and monitoring standards for all system products, mentors leads.
Hardware Interfaces 1
▼
Understands basic hardware interfaces: GPIO, UART, SPI, I2C. Reads device datasheets, connects simple peripherals under mentor guidance.
Independently works with hardware interfaces: PCIe, USB, Ethernet PHY. Reads schematics, uses logic analyzer for protocol debugging, implements timing requirements.
Defines hardware interface standards for the platform. Establishes HAL strategy, conducts hardware-software interface reviews, coordinates with the HW team.
Shapes enterprise approach to hardware interfaces. Defines strategy for supporting new interfaces (CXL, UCIe), manages hardware-software co-design process.
Memory Management 2
▼
Understands memory model: virtual memory, page tables, stack vs heap. Knows malloc/free internals, memory alignment.
Manages memory: custom allocators (pool, slab, arena), memory-mapped files, huge pages. Analyzes via Valgrind and perf.
Defines memory management strategy for the systems team. Establishes allocator selection guidelines, NUMA policy.
Defines enterprise memory management strategy. Establishes custom allocator library, mentors architects on memory design.
Understands the fundamentals of Systems Memory Management. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Confidently works with memory management: page allocator, slab allocator, memory mapping. Configures huge pages, understands OOM killer, debugs memory leaks via kmemleak.
Defines memory management strategy for the systems platform. Establishes memory budgets per subsystem, conducts memory safety reviews, introduces memory profiling infrastructure.
Shapes enterprise memory management strategy. Defines organizational-level approaches to memory safety (MTE, shadow memory), manages memory architecture for products.
Networking 1
▼
Understands HTTP/HTTPS, DNS basics, TCP vs UDP. Knows ports, IP addresses, localhost. Can use curl for API testing.
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.
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.
OOP & Design Patterns 1
▼
Knows patterns for system software: RAII, Pimpl, Singleton for global state, Observer for event systems. Applies under guidance.
Applies system patterns: Flyweight for memory optimization, Reactor for I/O multiplexing, Chain of Responsibility for packet processing.
Defines pattern catalog for the systems team. Establishes reference implementations with benchmarks, conducts architecture reviews.
Defines enterprise catalog of system patterns. Establishes architectural patterns for performance-critical software.
Optimization 1
▼
Understands low-latency principles: cache locality, branch prediction, prefetching. Measures latency of simple operations using rdtsc/perf, analyzes jitter under mentor guidance.
Designs low-latency components: applies lock-free algorithms, memory pooling, huge pages. Optimizes system calls via bypass (io_uring), configures CPU isolation and pinning.
Defines low-latency architecture for the product platform. Establishes performance budgets for each component, conducts reviews for latency requirements compliance.
Shapes enterprise low-latency systems strategy. Defines approaches to guaranteed latency SLAs, manages infrastructure for sub-microsecond processing, mentors experts.
RTOS & Real-Time 4
▼
Understands the fundamentals of Bare Metal Programming. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently applies Bare Metal Programming in practice. Understands trade-offs of different approaches. Solves typical tasks independently.
Defines Bare Metal Programming strategy at team/product level. Establishes standards and best practices. Conducts reviews.
Defines Bare Metal Programming strategy at organizational level. Establishes enterprise approaches. Mentors leads and architects.
Understands the fundamentals of Real-Time Programming. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Develops real-time components: uses PREEMPT_RT, configures SCHED_FIFO/SCHED_DEADLINE, memory locking via mlockall. Measures and minimizes worst-case latency.
Defines real-time architecture for the product platform. Establishes timing verification standards, manages real-time budgets, conducts compliance reviews for timing requirements.
Shapes enterprise real-time strategy for the organization. Defines approaches to real-time system certification (DO-178C, IEC 61508), mentors leads on formal timing analysis.
Understands the fundamentals of Real-Time Systems Design. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Independently applies Real-Time Systems Design in practice. Understands trade-offs of different approaches. Solves typical tasks independently.
Defines Real-Time Systems Design strategy at team/product level. Establishes standards and best practices. Conducts reviews.
Defines Real-Time Systems Design strategy at organizational level. Establishes enterprise approaches. Mentors leads and architects.
Understands RTOS architecture: scheduler, task management, IPC primitives. Creates multi-task applications on FreeRTOS/Zephyr, uses semaphores and queues under mentor guidance.
Independently develops on RTOS: configures scheduler, optimizes stack allocation, implements power management. Ports RTOS to new hardware platform.
Defines RTOS strategy for the product line. Establishes RTOS development standards, BSP creation process for new platforms, conducts architectural decision reviews.
Shapes enterprise RTOS strategy for the organization. Evaluates and selects RTOS (FreeRTOS, Zephyr, VxWorks) for different product classes, mentors lead RTOS architects.
System Design 1
▼
Understands basic system design principles: modularity, abstraction, encapsulation, separation of concerns. Applies them when designing simple system components.
Designs system components with proper abstractions: HAL, platform abstraction, API contracts. Applies layered architecture for kernel subsystems and drivers.
Defines system architecture for the product platform. Establishes architectural decision records, conducts system design reviews, coordinates cross-component interfaces.
Shapes enterprise system architecture for the organization. Defines reference architecture for different classes of system software, mentors lead system architects.