After 15 years of Python/Ruby/JS, learning Rust feels like being told you've been holding your fork wrong your entire life. Turns out, people who've never held a fork learn the "correct" way faster.
The Experienced Developer Experience
You: "I'll just pass this variable to two functions—"
Rust Compiler: "Who owns it though?"
You: "I don't care, just..."
Rust: "Cannot borrow as mutable while also borrowed as immutable."
You: "I've been doing this for 10 YEARS!!?!"
Rust: "Yes, and you've been doing it wrong."
The Beginner Experience
Beginner: "So this is how variables work in programming?"
Rust: "Yes."
Beginner: "Cool." writes correct code
You: screaming into the void
The Twist
They are learning faster because they have nothing to unlearn. You are fighting muscle memory.
But here's the secret: you will still beat them in the long run. They might not fight the borrow checker, but they are still Googling "what is a hashmap" while you are architecting concurrent systems.
You just have to accept that for 2-3 months, a bootcamp graduate with zero prior experience might write cleaner Rust than you.
Humbling? Yes.
Worth it? Also yes.
The Real Lesson
Sometimes expertise is technical debt. The borrow checker doesn't care about your 10 years of experience, it cares about memory safety.
Welcome to being a junior again. Enjoy the ride. 🦀
From someone currently yelling at cannot move out of borrowed content for the 47th time today.
Top comments (1)
You’re spot on! This phenomenon isn’t unique to Rust; it applies to learning any new programming language. That's why I never understood java, unlike python and rust. Past experience can indeed be a double-edged sword – a fantastic foundation for some things, but a source of ingrained, potentially detrimental habits when approaching something entirely different. The ‘bad habits’ are definitely a significant factor. 😉