We live in this fast paced world where everything is changing fast and we need to learn new stuff all the time. We read articles and books, watch videos, and play with our new knowledge. Unfortunately a lot of what we learn is almost immediately forgotten. How can we solve this issue? Can we learn and remember everything after? Here is my story about that.
Learning something new
Several years ago I decided I want to try and learn another computer language. The best and most fun way to do this was to build something with it. I wanted it to be different from what I am using at work, where I code mostly in Java. I found this nice Ruby On Rails tutorial, followed it and built a couple of simple web applications in my spare time.
Months later we needed something at work written in Ruby. I had a chance to use my new skills! I thought it is going to be easy, but alas was mistaken. In the few months not using the new language I had forgotten many of the few tips and tricks that makes you a productive programmer. I picked them up again, faster compared to the first time. I knew where to look and had an idea about the language and the tools I’ll need. But all this made me think why I had forgotten all this in the first place? It was stuff I had used on a daily basis for awhile, but now most of it was lost.
Is there a better way
Next time I wanted to try and code something small in my spare time I decided to make an effort to not only learn, but also remember. So I started to take notes. Idea was to revisit those later. I also had an idea to start a blog and write about what I learn. That looked like too much work at the time… Now I know better and wish I have invested that time then. Better late than never!
While I did not know that term at the time, what I was trying to achieve was Deliberate Practice. It is not work, it is not play. It is an effort to increase your skills and improve your knowledge. Focus is not just on repeating a task, but how you do it. Building a simple website was not enough and I had no time to make a website every day. So I focused on the learning process a bit more to see if I can be a bit better at learning. This was working well for a while, until the amount of notes in my Evernote increased so much I started to lose motivation to revisit them. Also it was not “fun” anymore and felt too much like school. So I searched for a more effective way.
Enter Anki. “Anki” is the Japanese word for memorization. It is also a great and (mostly) free tool you can use to remember things more easily.
The idea behind it is that we tend to remember things better if we spread reviews over time. But there is more. Analysis show you do not need to review at fixed intervals. Repeated exposure will make remembering easier. This means you can increase review intervals over time. The most effective time for a review will be right before you forget.
An example: You read something and put it on an Anki card. You will review it on the next day. If you still remember it, next review will be 4 days after the first. Third review will be 10 days after the second, etc…
So when you learn something make a small effort and write it on an Anki card. You will review it later. Anki will help you make sure you learn it as effectively as possible. Over time this will make you work faster. No more googling for how to use this or that.
Since I have started to use it I have put many things in Anki decks and found it really works for me. The hard part is to recognize you have learned something and define the card, reviewing is fun and takes no more than 5-10 min a day.
Some things you can review with Anki
- words of a foreign language
- facts you want to remember
- all kind of shortcuts, keys and commands that make your life easier at work
- short questions for which you can provide simple answers
- Anything you want to remember 🙂
From my decks:
- (Vim) Go to the top of the file
- Common and not so common git/maven/rake commands …
- (Sublime Text) Run all Ruby tests
- (Bash) Grep command to search a folder test for string aha
- (Ruby) Two ways to concatenate strings
- (JS) 0 == false? What about 0 === false?
- (IntelliJ IDEA) Search everywhere for a symbol
Is it working?
Ironically the proof “happened” after I stopped using Anki for some time 🙂 Half an year later I revisited my decks and still got a lot of them right. Like I said the hard part is putting what you learn in the tool, rest is easy and more fun. I continued to use Anki and still am reviewing my cards often. I should definitely try to put more cards in there – it is well worth the effort.
So you need help to learn faster? Give Anki a shot. Perhaps to remember everything is not worth all he extra effort. Focus on the most important stuff, small steps add up over time.
If you want to go into more details – I read about Anki for the first time at this site. Since that the author has updated and added a lot more information, it is really a great guide.
Thank you for reading.