Learning Tips for Software Engineers
Tags: learning, beginners
Published: 2020-08-15 10:32:46

---
title: Learning Tips for Software Engineers
published: true
description: Techniques that make everything that you learn stick forever.
canonical_url: https://mariiakornieva.blog/learning-tips-for-software-engineers-ckdvh68vq00z6ids1gcz6c851
tags: Learning, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/eol8xqzn0u2yffo79p2u.jpg
---

We all struggle to learn new things. It is tough, but in the end, it's gratifying.

It's easy to passively watch dozens of tutorials, seeking inspiration and motivation to start building your next project finally. But the truth is that when you actually start developing, you struggle. What seemed so easy on a video is hard to do if you aren't used to it.

I have been through this process a lot of times, but I adopted two handy techniques that help me learn easier. Those two are active recall and spaced repetition.

* **Active Recall** means that in order to learn something, you need to retrieve information from your brain actively. This is exactly the reason why you feel like you better understand concepts when you teach others or when you're writing a blog post, making a video, you name it. All of these involve a lot of active recall.

Traditionally flashcards are used to make use of the active recall technique. However, I haven't found flashcards useful when learning to code. In my opinion, the best way to *practice active recall as a programmer* is to ***build projects***! Just think about it. Every time you start a new project, you often go through many similar steps again and again.

Let's take CSS as an example (I've been learning it lately). Every single time you need to style a new webpage, you make use of the same properties over and over again, you position elements using flexbox or CSS Grid over and over again. And every single time, you have to retrieve the styling and positioning information from your brain, or if it's not yet in your brain, you need to upload it into it. That is a perfect use of active recall. And that is the reason why you don't need to learn all CSS properties by heart ahead of time. When you start applying them, it will be just uploaded into your brain. Consistency is the key!

* **Spaced Repetition** is about deliberate repetition over time. Basically, it uses active recall as a method of repetition, since it is the most effective one.

Spaced repetition is a vital technique due to the fact of what's known as a forgetting curve. You forget most of what you learn in the first 24 hours. To reduce this rate of memory decay, you should repeat what you've learned. I highly recommend reading [this webpage](ncase.me/remember). It contains a fantastic explanation of the science behind the forgetting curve phenomenon. Hope it will convince you that repetition is crucial.

The most important fact is that these two techniques work if and only if they are applied together. It would help you if you built a durable and long-lasting habit of repeating learned concepts to make them stick.

So the next time you're watching a tutorial or reading a book, try to do the following:

1. Repeat what you've just read
2. Code an application you've just seen in the tutorial
3. Tell others about what you've learned
4. Repeat!

Yes, it takes time, but it leads to long-lasting fundamental knowledge that you can use to build upon when learning more advanced topics. And as for learning, it's a continuous process.

Thanks for reading my post and happy learning!