This post is originally written by JACK KINSELLA.

You can visit and check out his website and read fully there. I just copied what I need. Short and Sweet. The paragraphs from below this are the contents of the original post.

Using spaced repetition systems to learn and retain technical knowledge.

Janki Method is an attempt to shorten the time needed to learn programming.


Problem 1: We Forget Too Quickly

The first rule of Janki boosts your memory:

“Every time you learn something new create a question and answer flashcard and add this card to Anki.”

Problem 2: We Give Up Too Soon The second rule of Janki encourages a commitment to daily learning:

“You must use Anki every single day - including weekends and holidays - and commit to doing so indefinitely.”

Problem 3: We Learn Out Of Context

The third rule of Janki keeps you focused on what is important in the moment:

“Learn in context. Pick a project, and learn only what you need to get it done.”

Problem 4: We Think We Can Learn Without Doing

The fourth rule of Janki grounds knowledge in reality:

“Only add a card to your deck after having tried to use the item of knowledge therein.”

Problem 5: We Make More Mistakes Than We Need To

The fifth rule of Janki method minimizes mistake repetition.

“Every time you make a mistake carry out a post-mortem and try to figure out the lessons in the experience. Think about what you would need to know to prevent that mistake from occurring again, and turn this insight into new flashcards.”

Problem 6: We Do Not Reflect On The Big Picture

The sixth rule of Janki method encourages regular critical reflection:

“At the end of every project ask yourself what lessons you learned and what you would do differently if you were to repeat the project with the benefit of hindsight.”

After a large project, such as completion of a new app, take some time to reflect. Ask yourself big questions, such as:

Did I waste time going down any dead ends? Is there anything I could do in future to help me foresee these, and prevent them from happening again? Did I choose the right technologies? Can I come up with a schema to help me make the right choices next time? Did I accurately estimate the time required? Could I have built simpler architecture? Could I have figured this out earlier? Can I create a checklist to ease development of that kind of feature in future?

Problem 7: We Let Our Knowledge Representations Grow Messy

The seventh rule of Janki keeps your decks in shape.

“Delete or modify any incorrect, outdated, difficult to remember, incomplete or unnecessary cards. Update existing cards as improved understanding dawns.”

Problem 8: We Do Not Reference Primary Sources

The eighth rule of Janki encourages you to use your readings of other people’s code as a source of learning:

“Read code regularly. If you come across something interesting – be that an algorithm, a hack, or an architectural decision - create a card detailing the technique and showing the code.”

The third rule hit me the deepest!! Because I always run after languages and their tutorials, instead of building something.

I need to do better.