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.
Designs high-performance algorithms: SIMD-accelerated, cache-aware, branch-free. Applies amortized analysis for memory allocators.
Defines algorithmic standards for the systems team. Establishes library of optimized primitives, conducts critical path reviews.
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.
Designs custom data structures: lock-free queues (MPSC/MPMC), memory-mapped B+ trees, SIMD-friendly AoS vs SoA layouts.
Defines data structure standards for the systems team. Establishes library of concurrent/cache-optimized containers.
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.
Introduces quality infrastructure: continuous fuzzing (OSS-Fuzz), formal verification tools, code coverage for critical paths.
Defines code quality strategy for the systems team. Establishes sanitizer policy, fuzzing targets, coverage requirements.
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.
Conducts architectural review of system components. Verifies lock ordering, memory safety, ABI compatibility. Identifies subtle concurrency bugs and memory model violations.
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.
Concurrency & Parallelism 2
▼
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.
Designs high-performance async systems: custom runtime with io_uring, zero-allocation async, structured concurrency.
Defines async strategy for the systems team. Establishes async runtime guidelines, conducts async architecture reviews.
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).
Designs lock-free systems: MPMC queues on atomics, hazard pointers, epoch-based reclamation. Applies formal verification (ThreadSanitizer).
Defines concurrency strategy for the systems team. Establishes lock-free primitives library, conducts concurrent code reviews.
Memory Management 1
▼
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.
Designs memory management: jemalloc/mimalloc tuning, NUMA-aware allocation, transparent huge pages, memory compaction strategies.
Defines memory management strategy for the systems team. Establishes allocator selection guidelines, NUMA policy.
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.
Designs with advanced patterns: Actor model, zero-copy pipeline, lock-free observer, compile-time strategy via template specialization.
Defines pattern catalog for the systems team. Establishes reference implementations with benchmarks, conducts architecture reviews.
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.
Designs complex system architectures: microkernel vs monolith tradeoffs, multi-layer HAL, cross-platform abstraction. Ensures backward compatibility and extensibility.
Defines system architecture for the product platform. Establishes architectural decision records, conducts system design reviews, coordinates cross-component interfaces.