Learn Rust to ship a real CLI in four months
Four months of patient daily work — about an hour a day on the official book, the official exercises, and one CLI project — gets a developer who already knows another language to writing real, idiomatic Rust. Roughly 120 hours total. You will not be a borrow checker grandmaster. You will be able to read crates and contribute to them.
4 months · ~120 hours · publish a CLI tool to crates.io that other people install
1.The Rust Programming Language ("the book")
The official book by Steve Klabnik and Carol Nichols is the canonical text and free online from rust-lang.org. Read straight through chapters 1–17. The ownership chapter (4) and the lifetimes chapter (10) will hurt — they are supposed to. Sit with them and type every example. Chapter 12 (a grep clone) and chapter 17 (object-oriented patterns) are where everything starts to fit together. The book is updated continuously and reflects current Rust.
Free online; $40 paperback from No Starch
The Rust Book →2.Rustlings
The official exercise set: 96+ small, broken Rust programs you have to fix. Each one targets a specific concept from the book. Run alongside reading, not after — chapter 4 of the book becomes real only when you do the ownership exercises in Rustlings. The compiler is your tutor here; read its error messages slowly. They are widely considered the best in any language and will teach you most of what you know.
Free
Rustlings →3.Build and publish a CLI tool
Pick a small, useful command-line program — a JSON pretty-printer with diffing, a habit tracker, a custom log filter, a cron-replacement for your laptop — and build it using clap for argument parsing and serde for JSON. Publish it to crates.io with a real README and a license. Even if nobody installs it, the act of publishing forces the practical questions Rustlings does not: project structure, error handling, dependencies, documentation. This is where Rust stops being a textbook and starts being a tool.
Free
Command Line Apps in Rust →If this doesn't fit you
If you are already a senior engineer in another systems language and want to bypass the gentle introduction, replace the book with Jon Gjengset's "Crust of Rust" YouTube series and the "Rust for Rustaceans" book ($40). They assume you already know what a vtable is and move at three times the pace. Do not start there if Rust is your first systems language — you will burn out.
Why this path
Rust is one of the few languages where the official material is genuinely the best material — the book and Rustlings are written by the people who designed the compiler, updated with every release, and free. Most paid courses are strictly worse. Skipping the published CLI is the most common mistake. The borrow checker will frustrate you in tutorials but you only learn to negotiate with it when you are building something you care about.