Competencies: Programming Languages > Rust
Rust
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
Rust Fundamentals |
Variables, data types, functions, control flow, modules, crates |
Critical |
Systems Developer, Backend Developer |
Ownership & Borrowing |
Ownership rules, references, lifetimes, borrow checker, memory safety |
Critical |
Systems Developer, Backend Developer |
Structs & Enums |
Struct definitions, impl blocks, enums with data, pattern matching, Option/Result |
Critical |
Systems Developer, Backend Developer |
Error Handling |
Result type, ? operator, custom errors, thiserror, anyhow crates |
High |
Systems Developer, Backend Developer |
Traits & Generics |
Trait definitions, trait bounds, associated types, generic functions/structs |
Critical |
Systems Developer, Backend Developer |
Collections & Iterators |
Vec, HashMap, iterator adaptors, collect, lazy evaluation, IntoIterator |
High |
Systems Developer, Backend Developer |
Concurrency in Rust |
Threads, channels, Mutex, Arc, Send/Sync traits, async/await with tokio |
High |
Systems Developer, Backend Developer |
Cargo & Dependencies |
Cargo.toml, workspaces, features, build scripts, crates.io publishing |
High |
Systems Developer, Backend Developer |
Unsafe Rust |
Unsafe blocks, raw pointers, FFI, when to use unsafe, safety contracts |
Medium |
Systems Developer, Security Engineer |
Testing in Rust |
Unit tests, integration tests, doc tests, cargo test, property testing |
High |
Systems Developer, Backend Developer |
Macros |
Declarative macros, procedural macros, derive macros, macro hygiene |
Medium |
Systems Developer, Backend Developer |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
To be populated |
— |
— |
— |
— |