Compound Effect: Learn Things Easily Over Time
Tags: beginners, career, programming
Published: 2023-09-29 13:26:22

## Introduction
In most scenarios, we tend to choose prolonged sessions of consuming learning materials which only ends up in large amounts of information being forgotten, frustration, and waste of time. We're all no strangers to this, I'm sure at some point in your life, you picked a topic, and started learning intensively just to find yourself giving up on the second or third day. How can we avoid that? How can we harness portions of our time to learning something new effectively? That's what we'll discuss in this article.

> 💡 If you got any learning tips, please share them in the comments so we could all benefit from it.

## Measuring Progress Over Time
If you're not a native English speaker, you've probably tried learning English before. In English, there's a **golden rule** that says the following:

> Only learn 5 new words a day

When we hear this, it seems too easy, like learning 5 words takes no more than 15 minutes maximum, so instead, we go on, and learn 20 if not more, the other day you remember couple if any at all.

## Let's talk statistically 
An advanced English speaker knows between **4,000 to 10,000** words, on average, we'll take **6,000** words as our middle ground, if you were to follow the 5 words a day rule, that's **150** words a month, and **1,825** words a year. Now that's a big deal, because **1,825** is approximately **30.5%** of the total words you already know, so in a matter of one year, by following this rule, you've increased your vocabulary knowledge by a third, isn't it crazy? 
The additional and most significant part of this process, is that concentrating your efforts, towards a simpler task, will make you more knowledgable about the task at hand, like learning 5 words a day only, gives you plenty of time to cement your understanding of those words, therefore it's less harder to do, and more effective overall.

## How Can This Apply to Coding
Well, in the context of English, you're learning words, but in the realm of programming, you aren't learning words, you're learning ideas, concepts, theory, and applicable methods of work, so how can you follow a similar pattern in this case?

- Begin by choosing a topic, be it anything, a new programming language, new framework, data structures and algorithms, Leetcode problems, literally anything you want to learn.

- Allocate a small portion of time per day dedicated to studying the chosen topic/concept/subject.

- Create short summaries of what you learned on the day, using a digital note, or old school pen and paper.

- Review your work when done. When the time for studying ends, quickly recap what you've learned by either re reading the summary you created, or if it's a coding material, try coming up with a task it and completing it, this way you'll get hands on experience which will solidify your understanding.

## 10 Minutes a Day, Can Make a Difference Over Time
Months ago, my typing speed was fairly average, about 40 words per minute using only both my index fingers, so I decided to practice daily for 10 minutes only, I'd set a timer, and start practicing by either taking typing tests, or playing typing games online, and when the timer goes off, I'd just jump off immediately, I wouldn't give in more than 10 minutes a day. After two weeks, my typing speed went to 75 words per minute and that was good enough.
We can all afford 10 to 30 minutes a day to learn something new, what matters the most is consistency, not the intensity and the prolonged sessions, as long as you practice/learn daily, you'll start identifying progress within a certain time frame based on the thing you're learning.