We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Learning Rust the wrong way. - Ólafur Waage - NDC Sydney 2024
Discover why embracing difficulty in learning Rust leads to better mastery. Explore evidence-based learning techniques and practical exercises to level up your Rust skills effectively.
-
Effective learning often requires embracing “desirable difficulty” - making things deliberately challenging leads to better long-term retention and understanding
-
Blocked practice (focusing on one thing intensively) is less effective than spaced/interleaved practice (mixing different concepts and spreading learning over time)
-
Studies show attempting difficult tasks and experiencing initial failure leads to better learning outcomes than starting with easier versions
-
Don’t rely solely on passive learning methods like watching tutorials or reading documentation - active practice and hands-on coding is essential
-
The feeling of difficulty during learning doesn’t mean ineffective learning - often the opposite is true. Feeling of ease can be deceptive
-
Rust’s learning curve and explicit memory/ownership model creates natural “desirable difficulty” that leads to better understanding
-
Rustlings exercises are recommended as a structured way to learn Rust fundamentals through hands-on practice
-
Converting existing code from another language to Rust is a useful learning exercise to understand differences in concepts
-
Don’t try to find “easy ways out” or shortcuts when learning - embrace the difficulty and complexity
-
Quiz yourself regularly and work on practical projects rather than just reading about concepts
-
Mix different programming concepts and patterns rather than focusing on one thing at a time
-
The “curse of knowledge” can make experienced developers underestimate learning difficulty when teaching others