Effective learning

In the ever-changing ocean of IT, you have to keep swimming to stay in your current place. Frameworks change, practices develop, and paradigms shift - a good developer is a learning machine, no matter if they are working with machine learning or javascript.

But have you ever been taught how to learn effectively?

Spaced repetition

Spaced repetition is the best system we have for retaining knowledge. Long story short, if you are tested right after you start forgetting, the rate at which your memories decay will slow down. So from forgetting 60% of content in 1 hour

Basic forgetting curve

you can go to

Forgetting curve with single repetition


Spaced repetition curves

finally retaining any nugget of wisdom or Visual Studio keyboard shortcut indefinitely.

The fact that you can learn how to remember is a pretty big thing. We are what we remember - you can't be a mathematician without remembering the multiplication matrix. Now a trick question: do you remember all points of OWASP Top 10? Of software craftsmanship manifesto? Of agile manifesto? We can't outsource things that are supposed to drive our behavior.

I don't strive to make a better introduction to spaced repetition than others in this post (nor to feed your impostor syndrome with cheap shots). You can find a fantastic 20-minute starter here, and further details on making great flash cards there. What I want to explore today is that even the best system won't work for you unless you follow it. And let's face it, consistent 10-20 minutes per day is an impossible plan.


I heard about spaced repetition and started using Anki years ago. I'm not going to lie - even though the promise of gaining a serious edge in the knowledge economy is alluring, I've been consistently failing to follow up on regular repetition (and adding new cards to the set). Willpower is a funny thing. In the meantime, I tried multiple habit-building techniques or apps, from Store's 'best in productivity' apps, through notebooks, reminders and wall-mounted scorecards, up to social commitments. Yes, I did ~some~ things. No, I'm not happy with the results.

Tiny habits

A few months ago, I stumbled upon a Tiny habits program by BJ Fogg. The basic idea about Tiny Habits is that behaviors you try to implement are:

  • done at least once per day
  • take < 30 seconds
  • require little effort

And are triggered by your existing automatic actions (brushing teeth, setting an alarm clock, opening a fridge, etc.)

In short - habit-forming done right. There are many important details, including making the process fun and focusing on experimentation, but once again, there is no point in me taking the stage. Just go sign up for a free 5-day course and let yourself be amazed.


Tiny Habits are currently my number 1 recommendation for making lasting changes in life. However, making a habit of daily spaced repetitions is a whole another level of improvement. Hopefully, you will find this combination of a memorization technique with a habit-building system as useful as I did! :)

For reference, I'm using Anki + Anki Droid , with most of the flashcards added on desktop and of repetitions done on mobile each morning and evening.

If you are interested in soft skills topics, take a look on my previous post Overview of time management and in any case feel free to comment