Anki


Imagine you met a man who told you that his annual income was one million dollars a year. Would you not be impressed by his wealth? I believe that most of us certainly would. What if that man then revealed that his annual expenses were $975,000 a year? Would you still be impressed by his wealth? Probably much less so. When it comes to accruing wealth, the amount of money coming in is not nearly as important as the amount you retain. EXACTLY THE SAME IS TRUE OF KNOWLEDGE. so often I see students chasing after knowledge. This is a good and desirable trait. Never forget however, that important issue is not how much knowledge you learn - BUT HOW MUCH YOU RETAIN - for it is only the knowledge you can access and remember that will prove useful to you in future action. It is critical therefore, THAT YOUR ATTEMPTS AT GAINING KNOWLEDGE FOCUS AS MUCH ON KNOWLEDGE RETENTION AS THEY DO ON KNOWLEDGE ACQUISITION.

- excerpt from an instagram post by John Danaher, a Brazilian jiu-jitsu coach


When it comes to retaining coding knowledge, Anki is the most effective tool I've come across. I had heard of Anki before I started learning to code, but the first time I saw it being used for memorizing code syntax, programming patterns, and hacks in an article by Jack Kinsala. Then shortly thereafter, I independently came across an article by Derek Sivers in which he explains his approach to momorizing code. He does a great job at introducing Anki to beginners that it's best you hear if from him: https://sivers.org/srs. If you like Derek's article then also check out Jack Kinsalla's article as well (note: the original version of the article is better than the updated one).


The program has an interface that takes some adjustment to, but if you can look past the outdated design and commit to reviewing your cards regularly, I'm convinced you'll see a significant improvement in your coding skill. In addition to helping you code better, Anki removes the need to prepare for technical interviews. With Anki you'll get plenty of practice answering technical questions and that confidence will come in handy during the job interview.


Updated