5 min read
What You Should Know Now — and What's Next
What You Should Know Now
- Core syntax: bindings and mutability, scalar and compound types, expressions, control flow, and functions
- Ownership, borrowing, slices, and lifetimes — and how to read the borrow checker's errors instead of fighting them
- Structs, enums, pattern matching, and methods
- Idiomatic error handling with
Option,Result, and? - Generics, traits, trait objects, closures, and iterators
- Smart pointers, threads, channels, and shared state with
ArcandMutex - Async Rust with Tokio, declarative and procedural macros, and when
(and how) to use
unsafe - Building, testing, benchmarking, and deploying a real service with Axum and SQLx
What Should You Learn Next?
- Systems programming in depth — embedded Rust (
no_std), writing an interpreter, or contributing to a Rust command-line tool you already use. - WebAssembly — compile Rust to Wasm with
wasm-packand call it from a JavaScript front end. - A related language — C++ if you'll work on large existing native codebases (many ideas, such as RAII and move semantics, map directly), or Go for a simpler, garbage-collected take on building network services.
- Read real Rust code — the standard library's source and popular
crates such as
ripgrep,serde, andtokioare some of the best teaching material available.
Build Something
Pick a project idea that solves an actual problem you personally have —
and build it as a small Rust command-line tool or service, with tests
alongside it from the start and cargo clippy in your routine.