Here’s my rough mental model around learning things in the world of computer programming:
- Never heard of it before
- Heard of it, but don’t know what it is
- Know what it is conceptually, but not how it works
- Know how it works, but never implemented it
- Have implemented it, but just for fun, not in production
- Implemented something in production
- Applied concept creatively in a novel fashion (mastery)