So I've tried hiring Rust developers at three different companies now. Each time I thought "okay, NOW I know what I'm doing." Each time I got financially fucked in new and exciting ways.
The Salary Explosion That Caught Me Off Guard
February 2022, middle of the crypto hiring frenzy, posted a Rust position for $130K thinking that was solid money in Austin. Got exactly 7 applications in 8 weeks. The few legit candidates all demanded $160K+ base plus 0.5% equity, delivering PowerPoints about "memory safety revolution" bullshit.
Same company, same month, posted a Go backend position for $125K. 52 applications in two weeks. About 25 were actually qualified senior devs, not bootcamp grads who copied async/await from Stack Overflow.
Those PayScale averages showing Rust developers make like $112K? Complete fucking fantasy. Anyone who's actually decent at Rust gets poached by crypto companies or AI startups for way more. I know because I keep getting outbid by Coinbase offering $220K base.
Go devs are still expensive but at least they exist. Rust job postings are way up but there's maybe 8 good developers for every 100 openings. Go is more like 3-4 qualified people per opening, which makes a massive difference when you're trying to actually hire someone.
The Training Nightmare (AKA Why Senior Engineers Quit)
Trying to transition Go developers to Rust broke some of my best people. Not exaggerating.
What actually happens when you try to teach Rust to working developers:
First month using Rust 1.68.2 was absolute hell. Senior developers with 8+ years suddenly can't compile fn main() { let s = String::from("hello"); println!("{}", s.len()); }
because of some moved value
bullshit.
Had one guy debugging a payment service for 6 hours straight because he kept getting error[E0507]: cannot move out of borrowed content
on what should've been a simple string parse. Found him at 3am, laptop still showing 47 compile errors, staring at the screen like he'd seen some shit. Turns out he needed .to_string()
instead of trying to return &str
from the function. Six. Fucking. Hours.
One junior dev quit after 4 months when he couldn't fix error[E0515]: cannot return reference to temporary value
in our auth middleware. Left a note saying Rust's compiler was "gaslighting" him with error messages that made no sense. Honestly? Not wrong.
Eventually senior devs figure out how to make shit compile, but their code is .clone()
and .unwrap()
spam everywhere because screw fighting the borrow checker for 3 hours over a simple data structure. At least the damn thing builds.
If they stick with it for like 6+ months, they finally start writing decent Rust. Problem is, most don't make it that far.
I budgeted maybe $5K per developer for training - books, courses, Udemy shit, whatever. Actual cost was more like $25K when you factor in lost productivity, me spending 20 hours a week explaining why basic operations don't work, and the general "why did we do this to ourselves" depression.
Junior developers were even worse. Spent a ton of money on a couple bootcamp grads thinking they'd pick it up faster. Six months later they still couldn't understand why simple string operations don't work. Both quit complaining about lifetime parameters.
When Your Rust Dev Leaves, You're Fucked
At my last company, our lead Rust dev got poached by Solana Labs in October 2023. $190K to $280K jump plus 0.8% equity. Gave his standard two weeks notice, seemed totally reasonable until we realized he was literally the only person who understood our async WebSocket connection pool and all those custom derive macros he'd written.
Took 9 goddamn months to find a replacement. Meanwhile we're paying this consultant from Berlin $375/hour just to keep our message queue from completely shitting itself. Dude would be answering 2am production alerts from his timezone, billing us minimum 30-minute increments for "quick fixes" that were usually just adding .await
somewhere or changing Arc<T>
to Arc<Mutex<T>>
.
Cost was brutal - consultant fees, recruiting fees for specialized Rust headhunters, and the stress of running a service nobody on the team really understood.
What the Rust hiring market actually looks like:
Posted on every job board we could find. Got maybe a dozen resumes over several months. Half were obviously bullshit - people claiming 10+ years Rust experience when the language has only been stable for 8 years total.
The few real candidates either wanted absurd money for remote work ($200K+ base for mid-level), or they were actually good but wanted to work on "exciting blockchain projects" instead of our boring payment processing software.
Had one guy join and then rage-quit after a month because our code wasn't "idiomatic" enough for him. Apparently we were using too many Arc<Mutex<T>>
instead of channels or some shit. Thanks for the feedback, dickhead.
Meanwhile when we needed to replace Go developers? Posted on Tuesday, hired by Friday. Rust developers are all working for crypto companies or big tech now. Hard to compete with those offers.
Go: The Language That Doesn't Make Me Want to Drink
Go hiring is wonderfully boring:
Why Go actually works for hiring:
Post a Go job on Monday, you'll have tons of qualified applications by Wednesday. Take any decent backend developer and they're shipping code in a few weeks.
Salaries are predictable - nobody's trying to poach your Go developers with 2x market rate offers. Every major city has Go developers. Hell, even smaller cities have them.
When your Go developer quits, you can replace them before they've even finished their exit interview.
Go's boring simplicity means no weird tribal knowledge. Junior developers can read senior developer code without having a mental breakdown about lifetimes and ownership. With Rust, junior developers look at generic trait bounds and immediately start updating their LinkedIn.
Never had a Go developer rage-quit because the language was "fighting them." Can't say the same about Rust - had a couple people quit in the middle of sprints because they couldn't get async lifetimes working in some WebSocket code we had.
The Real Numbers (From My Pain)
Here's roughly what I spent building teams at different companies:
Rust Team (5 developers):
- Salaries: Had to pay way more, like $150K-$190K range because crypto companies kept outbidding us
- Took 18 months to fully staff because people kept declining offers
- Two developers quit during training, had to restart hiring for those positions
- Training costs were fucking brutal - lost productivity, my time explaining basic shit, $3K in courses nobody finished
- Total year one: $950K (and that's with positions vacant for months)
Go Team (5 developers, same timeframe):
- Salaries: Way more reasonable, $120K-$145K range
- Fully staffed in 4 months
- Nobody quit during training
- Training costs were minimal - people actually picked it up
- Total year one: $700K
So we're talking $250K difference per year. Every goddamn year. For a web app that does the exact same thing regardless of what language runs it.
The salary gap is probably worse now with all the AI companies hiring up systems programmers.
When Rust Actually Pays For Itself (Spoiler: Rarely)
Rust makes sense in specific situations:
Choose Rust when:
- Performance directly impacts revenue - trading systems, gaming engines, real-time stuff
- Memory bugs are costing you more than developer salaries
- You're already at massive scale where infrastructure costs matter more than people costs
- You have a long runway and can afford months-long hiring processes
- Your team already knows systems programming
Don't choose Rust because:
- You read some blog post about how Discord saved money (you're not Discord)
- You think it'll make hiring easier (it definitely won't)
- Your Go app feels "slow" (fix your database queries first)
- You want to learn something new (do that on your own time)
For most web apps and SaaS products, Go's boring efficiency beats Rust's theoretical performance advantages. Rust math only works when microsecond differences actually generate revenue.
Additional Resources and References
- Stack Overflow 2024 Developer Survey - Comprehensive developer compensation data
- JetBrains Developer Ecosystem 2024 - Technology adoption and salary trends
- Rust Learning Resources - Official learning path for Rust developers
- Go Getting Started Guide - Official Go tutorial and documentation
- Rust vs Go Performance Benchmarks - Real-world performance comparisons
- GitHub Language Statistics - Language popularity trends
- Rust Foundation Website - Official Rust governance and funding information
- Go Development at Google - How Google uses Go in production
- Rust Success Stories - Real-world Rust implementation examples
- Developer Hiring Trends 2024 - Comprehensive hiring market analysis