I've been self-learning Python and web development for about six months now, and I keep facing the same issue: I'll learn something, it's clear in the moment, but then two weeks later it feels like I've forgotten everything—the syntax, logic, and sometimes even the underlying concepts. I understand that part of this is normal and that practical application is key, but I'd love to find a better way to retain what I learn. Here's what I've been doing so far:
1. **Coding along with courses:** I always type out the code instead of just watching to ensure I grasp the material, but it doesn't seem to stick over time.
2. **Anki flashcards:** I use them for syntax and common patterns, but I'm not sure how effective they are for programming—flashcarding code feels a bit off.
3. **Talking through concepts out loud:** I explain concepts aloud and record them, which seems to help—I then keep the transcripts in a folder for later review. This has been the most effective method for me so far.
4. **Small projects:** I try to implement what I learn into tiny projects instead of just exercises. For instance, I created a CLI expense tracker recently, which made me apply file I/O in a more problem-solving way.
But despite all this, I still think there's something missing. For those of you who are self-taught, what strategies or systems have helped you really retain your knowledge?
5 Answers
Repetition is key! Try to apply what you learn to projects that you're genuinely interested in. If your projects resonate with you, you'll find it easier to remember and enjoy the process. Best of luck!
It sounds like you're putting in great effort! One key to retention is studying a topic and then immediately trying to use that knowledge to write some code. After you get it working, review every line and understand it deeply before moving on to the next topic—this process can help solidify your understanding!
Don't stress about memorizing every detail. When you need something, just look it up. You'll always remember the context better when you're actually applying it!
For me, instead of just taking notes, I treat retention as retrieval. I try to rebuild the concept from scratch after a few days, and it really helps. Also, keeping a ‘mistake log’ of what I tend to forget can be beneficial.
I operate on the rule of spending about 40% of my time learning and 60% applying that knowledge. Simply studying without application doesn’t really help you remember much. It's all about hands-on practice!

This is solid advice. Thanks for sharing!