proofstone / become / software engineering / systems & desktop
Systems & desktop
Compilers, databases, operating systems, desktop apps — close to the metal. Pick a profession: each one is a map you walk node by node, and every card says, up front, what you need before you start.
9 professions · 9 planned
Browser engine engineer
plannedThe browser itself — Chromium, WebKit, Gecko — not the sites inside it.
stack: C++ · Rust
before you start: you already write C++ or Rust
Systems programmer
plannedLow-level code: services, daemons, memory, performance.
stack: C · C++ · Rust · Linux
before you start: you already write code
Desktop application developer
plannedApplications for Windows, macOS and Linux.
stack: C# · .NET · Qt · Swift · Electron / Tauri
before you start: nothing — start from zero
Operating systems engineer
plannedThe kernel and what surrounds it: the scheduler, memory, drivers.
stack: C · Rust · Linux kernel
before you start: you already write C
Compiler engineer
plannedLanguages and their compilers: parsers, optimisations, code generation.
stack: C++ · Rust · LLVM
before you start: you already write C++ or Rust
Database internals engineer
plannedThe database engine: storage, indexes, query execution, transactions.
stack: C++ · Rust · algorithms and data structures
before you start: you already write C++ or Rust
Performance engineer
plannedProfiling and speeding up: caches, SIMD, allocations, measurements.
stack: C++ · perf · flamegraphs · benchmarks
before you start: you already write C++ or Rust
Runtime / VM engineer
plannedVirtual machines and garbage collectors: the JVM, V8, WebAssembly.
stack: C++ · JIT · GC
before you start: you already write C++
Driver developer
plannedDevice drivers for the operating system.
stack: C · Windows WDK / Linux kernel
before you start: you already write C