Read States Service
High-performance service tracking message read states across billions of messages. Rewrote from Go to Rust, reducing latency from 300ms spikes to consistently under 10ms.
Edge Computing Platform
Edge computing infrastructure processing millions of requests per second globally. Built DNS resolver with single-digit microsecond response times.
Magic Pocket Storage Engine
Custom storage engine handling exabytes of user data. Core file sync engine rebuilt in Rust for predictable performance handling billions of files.
Multiplayer Engine (WASM)
Real-time collaboration engine compiled to WebAssembly. Enables thousands of simultaneous edits with sub-frame sync latency in the browser.
What Rust Developers Actually Build
Rust isn't just for systems programming anymore. Here's where Rust developers work across different industries:
Backend Services & High-Performance APIs
Rust is increasingly the choice for latency-sensitive backend services:
- API servers - Fast, concurrent request handling using Actix-web, Axum, or Rocket frameworks
- Microservices - Low-latency services that need to scale to millions of requests
- Real-time systems - Chat backends, gaming servers, financial trading systems
Real example: Discord's Read States service tracks which messages every user has read across every channel. Their Go implementation had latency spikes during garbage collection. After rewriting in Rust, latency dropped from 300ms spikes to consistently under 10ms—a 30x improvement.
Infrastructure & Cloud Computing
Rust powers critical infrastructure at major cloud providers:
- Virtualization - AWS Firecracker runs Lambda functions and Fargate containers
- Networking - Cloudflare's edge computing handles millions of requests per second
- Storage systems - Dropbox's Magic Pocket stores exabytes of data
Real example: Cloudflare rewrote their DNS resolver in Rust, achieving single-digit microsecond response times while handling DDoS attacks that would overwhelm traditional implementations.
Blockchain & Cryptocurrency
Rust dominates the blockchain infrastructure space:
- Blockchain protocols - Solana, Polkadot, Near Protocol are written in Rust
- Ethereum tooling - Reth (Ethereum execution client) is a Rust implementation
- Smart contract platforms - Many chains use Rust for contract development
Real example: Solana processes 65,000+ transactions per second, requiring the performance and safety that only Rust can provide at that scale.
WebAssembly (WASM)
Rust compiles to WebAssembly for browser performance:
- Frontend computation - Heavy calculations in the browser without JavaScript overhead
- Game engines - Web-based games running at near-native speeds
- Image/video processing - Figma uses Rust compiled to WASM for their multiplayer engine
Real example: Figma's multiplayer syncing engine is written in Rust and compiled to WebAssembly, enabling real-time collaboration on complex designs with thousands of objects.
CLI Tools & Developer Tooling
Rust produces fast, reliable command-line tools:
- ripgrep - Faster than grep, used by VS Code for file search
- fd - A faster alternative to find
- exa/eza - Modern replacement for ls
- bat - A cat clone with syntax highlighting
Real example: ripgrep searches through codebases so fast that VS Code adopted it as their default search engine, replacing slower implementations.
Why Rust Developers Are Different
Rust's unique characteristics shape the developers who use it. Understanding this helps you hire effectively.
The Ownership System Changes How Developers Think
Rust's ownership model (no garbage collector, no manual memory management) forces developers to think carefully about:
- Ownership - Who owns data and is responsible for deallocating it
- Borrowing - Temporary, read-only or mutable access to data
- Lifetimes - How long references remain valid
This isn't just syntax—it's a fundamental shift in how you architect software. Developers who master Rust's ownership system tend to write better code in other languages too, because they've internalized data flow and resource management concepts.
Memory Safety Without Performance Cost
Rust provides C++-level performance with memory safety guarantees that C++ simply cannot match:
- No null pointer dereferences - Rust has no null; it uses Option instead
- No data races - The type system prevents concurrent data races at compile time
- No use-after-free - Ownership system makes this impossible
- No buffer overflows - Array bounds are always checked
When Discord rewrote their service in Rust, they eliminated entire categories of bugs they'd spent years fighting in other languages.
The Learning Curve Filters for Quality
Rust is hard. The borrow checker rejects code that would compile in other languages. This creates a selection effect:
- Only dedicated developers stick with Rust - They've proven they can learn difficult concepts
- Rust developers tend to be self-motivated - They chose Rust despite easier alternatives
- Strong fundamentals - Understanding Rust requires understanding systems concepts deeply
Rust vs C++: What Recruiters Should Know
When comparing candidates with Rust vs C++ backgrounds:
| Aspect | Rust | C++ |
|---|---|---|
| Memory safety | Guaranteed at compile time | Manual (runtime bugs) |
| Learning curve | Steep but consistent | Steep and inconsistent |
| Concurrency | "Fearless" - compiler prevents data races | Manual, error-prone |
| Build times | Slower compilation | Faster compilation |
| Ecosystem | Newer, smaller | Mature, larger |
A strong C++ developer can learn Rust in 2-3 months. A Rust developer can learn C++ patterns but won't have the "muscle memory" for manual memory management.
Skill Levels: What to Test For
Level 1: Rust Learner (3-6 months experience)
- Can write basic Rust programs that compile
- Understands ownership conceptually but struggles with borrow checker errors
- Uses
clone()liberally to make code compile - Relies heavily on compiler error messages (which is actually good—Rust's errors are excellent)
This is fine for junior roles if they show learning ability and systems understanding.
Level 2: Productive Rust Developer (6-18 months)
- Writes idiomatic Rust (uses
match,Option,Resultproperly) - Understands when to use references vs owned values
- Can debug borrow checker errors independently
- Has built something real in Rust (not just tutorial projects)
- Comfortable with async Rust basics
This is the minimum for most mid-level Rust roles.
Level 3: Rust Expert (18+ months or strong systems background)
- Designs APIs with ownership in mind from the start
- Understands lifetimes deeply (can write generic code with lifetime parameters)
- Comfortable with unsafe Rust when needed (and knows when it's actually needed)
- Can mentor others and explain Rust concepts clearly
- Has contributed to Rust libraries or built production systems
This is senior/staff level territory. These developers are rare and expensive.
Recruiter's Cheat Sheet: Spotting Great Candidates
Questions That Reveal Skill Level
| Question | Junior Answer | Senior Answer |
|---|---|---|
| "Explain ownership" | "It's Rust's memory management system" | Concrete example: "When I pass a Vec to a function, ownership transfers unless I use &. This means..." |
| "What's a lifetime?" | "It's how long data lives" | Explains lifetime parameters, elision rules, and when explicit lifetimes are needed |
| "Why use Rust over Go?" | "Rust is faster" | Discusses zero-cost abstractions, memory safety guarantees, and when Go's GC is actually preferable |
| "When would you use unsafe?" | "Never" or "To make code faster" | "FFI calls, implementing data structures the compiler can't verify, performance-critical sections with proven correctness" |
Resume Green Flags
- Specific performance metrics: "Built a high-performance API handling 1M requests/sec"
- Open source Rust contributions: Shows they can write code others review
- Mentions of async Rust, Tokio, or concurrency work: Modern Rust skills
- Learning journey documented: Blog posts or talks about learning Rust
- Previous systems programming experience: C++, Go, or low-level work transfers well
Resume Red Flags
- "Expert in Rust" with no projects to show: Claims without evidence
- Only tutorial projects: Rust book examples without original work
- No understanding of why they chose Rust: Just "it's fast" without deeper reasoning
- Listing every Rust crate: Shows breadth over depth
- "10 years Rust experience": Impossible (Rust 1.0 released 2015)
GitHub Portfolio Signals
✅ Look for:
- Actual Rust projects with README files
- Tests in the codebase (shows professionalism)
- Recent commits (Rust ecosystem evolves fast)
- Use of Result/Option instead of panics
- CI/CD configuration (clippy, rustfmt)
🚫 Be skeptical of:
- Only Rustlings exercises or Rust book solutions
- No documentation or comments
- Excessive use of
unwrap()(crashes on errors) - No error handling patterns
Common Hiring Mistakes
1. Requiring Years of Rust Experience
Rust has only been stable since 2015, and production adoption accelerated around 2018-2020. "5+ years Rust experience" excludes 99% of candidates. Instead, focus on:
- Can they learn Rust? - Give them a take-home or pair programming session
- Do they understand systems concepts? - Memory, concurrency, performance
- Are they motivated? - Rust developers are self-selected for dedication
2. Testing Only Syntax Knowledge
Asking "What's the difference between &str and String?" tests trivia, not skill. Better questions:
- "Here's some Rust code with borrow checker errors. Walk me through how you'd fix it."
- "Design an API that takes ownership vs borrowing into account."
- "Explain why this concurrent code is safe (or why it isn't)."
3. Ignoring the Learning Curve
If a candidate has 6 months of Rust experience but a strong systems programming background (C++, Go, kernel development), they might be better than someone with 2 years of Rust but weak fundamentals. Rust can be learned; systems thinking is harder to teach.
4. Overemphasizing "Pure Rust" Experience
Many excellent Rust developers came from other languages. A Go developer learning Rust might bring valuable perspectives. Don't exclude candidates just because Rust isn't their primary language yet.
5. Not Selling the Project
Rust developers are in high demand. They can afford to be picky. If your JD reads like a requirements list without explaining what they'll build and why it matters, you'll lose candidates to companies that tell better stories.
The Rust Developer Market Reality
Why Supply is Low
- Steep learning curve - Many developers try Rust, few stick with it past the borrow checker frustration
- Newer language - Smaller ecosystem than Java, Python, or JavaScript
- Self-selection - Only motivated developers push through the learning curve
- High bar - Companies using Rust often have demanding technical standards
Why Demand is Growing
- Performance limits - Companies hitting Go/Python/Node.js ceilings need Rust
- Safety requirements - Financial systems, blockchain, infrastructure need memory safety
- Modern concurrency - "Fearless concurrency" is compelling for high-throughput systems
- WebAssembly adoption - Rust is the language of choice for WASM
- Cloud native growth - More infrastructure tooling written in Rust
What This Means for Hiring
- Expect longer time-to-hire: 6-10 weeks is normal, compared to 3-5 for most roles
- Be flexible on experience: Consider strong developers actively learning Rust
- Competitive salaries required: Rust developers know their market value
- Sell your project: Rust developers care about interesting technical problems
- Consider training: Hiring Go/C++ developers and training them in Rust can be effective