Mentoring & Leveling
Growing Rust engineers requires deliberate mentoring: pairing through borrow-checker errors, mobbing on migrations, and leveling rubrics tied to observable behaviors - not "knows Axum." Sustainable teams invest 10-20% lead time in people, not only features.
Recipe
Quick-reference recipe card - copy-paste ready.
# 90-day buddy plan (junior -> contributing mid)
Week 1-2: Read service README, run `cargo test`, fix doc typo PR
Week 3-4: Pair on small bug; author explains PR to buddy
Week 5-8: Own endpoint with review; shadow on-call
Week 9-12: Solo small feature; present learning at guild
Leveling signal (mid): owns crate module, reviews others, writes runbook sectionWhen to reach for this:
- New hire onboarding to Rust codebase
- Promotion cycle calibration
- Team stuck with single "Rust wizard"
- High review nit volume from one junior
Working Example
// Mentoring exercise: refactor unwrap to typed error (guided pairing)
// Before (junior)
fn parse_id(s: &str) -> uuid::Uuid {
s.parse().unwrap()
}
// After (with mentor)
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ParseError {
#[error("invalid uuid: {0}")]
InvalidUuid(#[from] uuid::Error),
}
fn parse_id(s: &str) -> Result<uuid::Uuid, ParseError> {
Ok(s.parse()?)
}Pair on compiler errors live; mentor asks questions instead of taking keyboard immediately.
Deep Dive
Leveling Dimensions (Rust)
| Level | Indicators |
|---|---|
| Junior | Fixes bugs with guidance; learns ownership and Result |
| Mid | Owns feature end-to-end; tests + observability; reviews peers |
| Senior | Designs crate boundaries; mentors; drives RFCs |
| Staff+ | Cross-team architecture; fleet standards; incident leadership |
Formats
- Pairing - 60-90 min focused tasks; rotate driver.
- Mob - 3-5 people, one driver, for migrations and
unsafeaudits. - Guild - Biweekly Rust tips:
clippy,miri, async patterns.
On-Call Ramp
Shadow 2+ incidents; secondary rotation before primary; debrief within 24h.
Gotchas
- Sink-or-swim on ownership - Anxiety, slow ramp. Fix: Buddy with weekly 1:1.
- Promotion = longest tenure - Attrition. Fix: Rubric and evidence doc per cycle.
- Only senior reviews - Bottleneck. Fix: Mids review tests and docs early.
- No safe practice repo - Juniors fear prod. Fix:
examples/crate or sandbox env. - Mentor time zero during crunch - Debt in people. Fix: EM protects calendar blocks.
Alternatives
| Alternative | Use When | Don't Use When |
|---|---|---|
| External Rust training | Bootcamp hires | Budget zero and strong internal senior |
| Book club (Rust book) | Fundamentals gap | Team needs domain-specific patterns only |
| Rotation to another squad | Breadth for staff track | Critical delivery quarter |
| Formal certification | Compliance roles | General product engineering |
FAQs
How long to productivity?
3-6 months to solo medium features depending on prior systems experience.
Mentor who?
Mid+ with patience; not always most senior architect.
Leveling doc location?
Engineering wiki + Rust-specific examples appendix.
Promotion packet?
Impact stories, RFCs, incident leadership, review feedback themes.
Junior and unsafe?
Learn read-only audit first; no solo unsafe authorship year one.
Async mentoring?
Start sync sqlx reads if team allows; migrate with paired exercises.
Remote pairing tools?
Shared IDE session; record tricky borrow-checker fixes for wiki.
Underperformer?
Clear improvement plan 30-60 days; EM involved; not public ranking.
Mob frequency?
Weekly during large migration; otherwise ad hoc.
Cross-functional leveling?
Same rubric dimensions; Rust craft is one column among leadership and product.
Related
- Delegation & Spreading Context - distribute work
- Code Review Culture - teaching loop
- Career Growth - path
- On-Call Health - sustainable ops
- Leadership Best Practices - summary
Stack versions: This page was written for Rust 1.97.0 (edition 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, and Polars 0.46+.