Unsafe, FFI & the Edges

required1,332 repos of evidence

Systems roles assume the same base layer as every other Rust job — plus comfort at the edges where safe Rust meets the operating system.

The destination — non-negotiable
  • understand what unsafe blocks promise and what they cost
  • cross an FFI boundary in both directions without UB
  • review unsafe code critically instead of trusting it
+ beyond Cargo: ownership deeply · unsafe fundamentals · FFI basics · no-panic discipline
The vehicles — 2 ways in, any combination works

Crates that wrap C libraries safely — the canonical unsafe-review reading list.

Prove it — build this

Write safe Rust bindings over a small C library — document the invariants each unsafe block relies on.

Can you honestly tick these?

Memory & Data Layout

required1,348 repos of evidence

Zero-copy buffer handling is the recurring pattern across the corpus's runtimes, proxies, and databases — the skill that makes Rust worth hiring for.

The destination — non-negotiable
  • understand stack vs heap, cache lines, and layout costs
  • process data zero-copy where it matters and prove the win
  • profile allocations instead of guessing
+ beyond Cargo: stack vs heap · cache lines & locality · zero-copy parsing · allocation profiling
The vehicles — 3 ways in, any combination works

Repos built on bytes/memmap2/bytemuck — where buffer discipline is the architecture.

Prove it — build this

Build a binary file parser (e.g. a WAL or image format) that's zero-copy where possible — benchmark it against a naive version.

Can you honestly tick these?

Concurrency & Parallelism

required980 repos of evidence

These crates are the corpus's standard answers to shared state — knowing which one a problem needs is the systems interview in miniature.

The destination — non-negotiable
  • understand what Send and Sync actually promise the compiler
  • choose between channels, locks, and lock-free structures and justify it
  • measure parallel speedups instead of assuming them
+ beyond Cargo: Send/Sync semantics · lock-free vs locked · work stealing · atomics & ordering (basics)
The vehicles — 2 ways in, any combination works

rayon-powered tools — embarrassingly parallel work done properly, with measurable speedups.

Prove it — build this

Build a parallel grep or log analyzer: rayon for scanning, crossbeam channels for results, a benchmark table in the README.

Can you honestly tick these?

Networking & Protocols

required265 repos of evidence

The corpus's proxies, VPNs, and RPC layers all live here — TLS with rustls and hand-rolled framing over tokio are their common denominator.

The destination — non-negotiable
  • understand what happens between connect() and the first byte
  • implement a wire protocol with framing you can defend
  • run TLS on both ends and know what the handshake costs
+ beyond Cargo: TCP/UDP semantics · TLS handshakes · protocol framing · epoll/io_uring awareness
The vehicles — 3 ways in, any combination works

QUIC, TLS, and raw-socket codebases — the transport layer read from source.

Prove it — build this

Write a TCP chat or key-value server with a documented wire protocol, TLS, and a stress-test client — numbers in the README.

Can you honestly tick these?

Performance Engineering

recommended458 repos of evidence

Measured claims beat adjectives. Corpus projects that win adoption publish criterion benchmarks — do the same in your portfolio.

The destination — non-negotiable
  • benchmark honestly and know why microbenchmarks lie
  • read a flamegraph and act on it
  • make something measurably faster and document before/after
+ beyond Cargo: Linux perf tooling · flamegraphs · benchmark methodology · SIMD awareness
The vehicles — 2 ways in, any combination works

Repos with serious criterion suites — read how performance claims get earned.

Prove it — build this

Take any earlier project and make it 2× faster — publish the flamegraphs, the benchmark suite, and what didn't work.

Can you honestly tick these?

OS & Platform

differentiator1,613 repos of evidence

The differentiator: corpus tools that manage processes, namespaces, and files directly are where systems hires get made.

The destination — non-negotiable
  • understand containers in terms of namespaces and cgroups
  • know what fsync guarantees and what it costs
  • write software that survives kill -9 correctly
+ beyond Cargo: Linux syscalls · processes & signals · filesystems · containers from first principles
The vehicles — 3 ways in, any combination works

Supervisors, shells, and init systems — the process lifecycle owned directly.

Prove it — build this

Build a minimal process supervisor (start, restart, signal forwarding, log capture) using nix — no shelling out.

Can you honestly tick these?
At the end of this road

Open roles matching this destination right now:

Building a dynamic runtime on top of the Linux BPF sub-system. Looking for Rust developers with deep interest in Linux internals, distributed systems, and systems programming.

Open

Polars is hiring a performance-focused Rust engineer. Requirements include experience with a low-level language (preferably Rust), systems programming fundamentals, and profiling tools like samply.

Open

Multiple Rust roles open: ML Scientist, Web Developer, HPC Developer, Compiler Developer. Entire stack is Rust. Hiring currently restricted to Canada.

Open

ArtCraft builds open source controllable AI tools for artists. The role involves working on Rust-based backend services using Actix Web and SQLx, with a focus on distributed systems and MySQL.

Open
← All destinationsBrowse the evidence corpus →