Skip to content

Rust From Scratch - Beginner to OSS Contributor

From "I have never written code" to "I can clone a real Rust project, read most of it, and submit a pull request."

Who this is for

  • You have never written code, OR
  • You have copy-pasted Rust code from tutorials and bounced off the borrow checker.

That's it. If you need to know something, this path will teach it.

Heads up: Rust is harder than the other beginner paths

Honest warning: Rust has a steeper learning curve than Go or Python. The borrow checker - the compiler component that enforces Rust's memory safety rules - will refuse to compile code you wrote on autopilot, and the error messages take time to learn to read. Most people who pick up Rust have at least one moment of "this language is fighting me."

This path is paced for that. Page 06 (ownership and borrowing) is the hard one. We take a whole page on it; we don't pretend it's easy.

The reward: when your Rust program compiles, it almost always does the right thing. The class of bugs that haunts C, C++, Go, Java, and Python programs (null derefs, data races, use-after-free, double-free, type confusion) mostly doesn't exist in safe Rust. The compiler eliminates them up front.

What you'll need

  • A computer (macOS, Linux, Windows).
  • A text editor - VS Code with the rust-analyzer extension. Free, excellent.
  • A terminal.
  • About 5 hours per week. Path is sized for 4-6 months at that pace.

Why Rust

  • Memory safety without garbage collection. A category of bugs eliminated at compile time, with no runtime cost.
  • Performance comparable to C. Used for systems software, browsers (Firefox), kernels (parts of Linux), databases, embedded.
  • The package manager (Cargo) is excellent. Best-in-class. Made the language much easier to adopt.
  • The community is welcoming. "I'm learning Rust" gets you helpful responses; gatekeeping is rare.
  • Hireable. Demand for Rust engineers has grown steadily; supply hasn't kept up.

How this path works

Each page does one thing: says what you'll learn, shows code, walks through it line by line, gives an exercise, ends with a Q&A.

The pages

# Title What you'll know after
00 Introduction What we're doing and why
01 Setup Rust installed, hello world, cargo
02 First real program Variables, mutability, types
03 Decisions and loops if (expression!), loop/while/for, basic match
04 Functions Including expressions vs statements
05 Structs and enums Rust's enums are special
06 Ownership and borrowing THE Rust page
07 Collections Vec, HashMap, slices, &str vs String
08 Error handling Result, ?, panic!
09 Traits and generics Rust's substitute for inheritance
10 Tests Built into cargo
11 Crates and Cargo Packaging
12 Reading other people's code The bridge
13 Picking a project What "manageable" looks like
14 Anatomy of a Rust OSS repo Case study
15 Your first contribution Workflow + PR

Start with Introduction.

Print this path

Want to read offline or archive? Open the printable version — every section of this path concatenated into one page, styled for paper. Use your browser's Print → Save as PDF.