I see spaced repetition tools like Anki and clones on the front page HN every month but in the tech world, I've never needed to rote memorize items that would require it. The challenge is understanding a new confusing topic rather than memorization.
Yes, if you're learning arbitrary lists of items such foreign language vocabulary, or a medical student memorizing the Latin naming for all the various bones of a human body then spaced repetition is what to use. I've just never had an analogous situation in programming.
>Do you prefer to learn from books, articles or videos?
All the above because they have different strengths.
- books: good for more foundational information (theory) but will be out-of-date on software tools and cutting edge info (e.g. latest machine learning developments). When using books to learn a subject, I always read 2 or more in parallel to get different authors explanations. Many times, one author will explain a topic in a better way than the other. A huge problem with books (and book publishing in general for all domains) is the avoidance to criticize or find faults in ideas. E.g. a Java book will not "point out all the problems with Java". To fill in that knowledge gap, you have to supplement with blogs/videos.
- articles/blogs: more up-to-date info on tools usage. Also because web articles have less "unspoken etiquette" about omitting criticism, you have a higher chance of reading about the negatives and drawbacks of whatever topic you're learning.
- videos: good for visual explanation of tools usage. E.g. Tutorials on IDEs.
So an example application of the above roadmap for me learning Javascript:
- book: O'Reilly book "Javascript in a Nutshell"
- video: watch a bunch of videos for learning F12 Google Chrome Dev Tools to inspect Javascript
- articles: learn what the new Javascript runtime Deno is about because books won't cover that topic.
Like many other tech topics including Javascript, I didn't have a need for spaced repetition techniques.