As developers, we are constantly studying. There is always a new language to learn, a trending framework to try, or even a function that you didn't realize it will make your code more efficient. We consume a lot of information, but we keep forgetting a great chunk of it. So, we go again to the source and try to retain a little bit more this time, over and over again, until we have fully incorporated this new piece of information.
Pretty ineffective, don't you think? It seems that there is a better way to learn. So, I gave myself the task to try to come with a strategy to optimize this process and learn more in fewer iterations. That is not only the problem, we are also beings of habits, therefore, trying to adopt a whole different way to learn, is unrealistic. It has to be an upgrade to our already existing strategy, so we don't have to put a lot of effort into sticking to it. In this article, I'm going to explain to you the stages of learning, where are we failing, and how to improve.
Learning is the ability to acquire knowledge. There are two steps to acquire it. First, getting some information about the topic and second processing it. As easy as pie! So, what are we doing wrong?
Let me explain it to you with an example: let's say you want to learn how to change a flat tire, you Google it and click on the Bridgestone's article on How to Change a Flat Tire. For the next 20 minutes, you are reading on tools you will need, the process of changing a tire, and the best practices on doing so. After finishing the read, you end the study and wait for the opportunity to put on practice this newly acquired knowledge.
A month later, you are driving to your work and hear a weird noise. You stop on the side road, get out of your car to find out that opportunity you were waiting for: a flat tire! You try to remember all these amazing tips and tricks you read on that article last month but you can only recall just a few of them. What happened to that knowledge?
You didn't acquire knowledge, you just went over some information. We are poorly processing information. That's why we have to go over and over on these steps to finally accumulate enough knowledge of the topic.
After some research, I found out three steps you can follow to start acquiring more knowledge from the same source.
The first one is to Assimilate. Here you want to help your brain to structure the information you are trying to incorporate. Each brain is unique, so is the way you structure information. It just has to make sense to you. To achieve this, there are some remarkable tools:
Notes are the way to translate what you heard or read on a more suitable syntax for your brain to structure it. I recommend that you check The Cornell Note-Taking System. It is a really simple system to improve your notes.
This example is taken from Cornell University
Diagrams are structured data. So, making diagrams will force you to connect all the information in a way you and your brain understands it. It can be as simple as a bunch of words connected by lines or as complex as a conceptual one. It is up to you!
For these purposes, and in my mission to use less paper, I use the web application of Draw.io. It has a simple interface and you can achieve appealing diagrams in just a few steps.
Chunking is a strategy where you divide information into smaller pieces. The idea behind these is to make big chunks of information into smaller, more digestible, ones. This way, you can focus on assimilating smaller pieces of information that, at the sum, will make you assimilate the whole information.
After you have taken notes, chunked the information, and made a cool diagram you have the whole picture of what you want to learn in a way you can comprehend it better. So, it's a good idea you recall the notes and the diagram every now and then. Just to make sure that your brain got it all right.
The second step is to Explain. By now you should be able to try to explain, in simple terms, what you have learned. The idea is to make complex concepts your brain has saved into simple ones. Your brain can only do so if he tries to explain it to someone who doesn't know anything about it and does not share your same mental structure.
The best way to achieve these is by making yourself a teacher for one day. Let's start teaching how to change flat tires! If you put it that way, it sounds a little bit exaggerated. The truth is that we can't go around our city offering free classes of a specific topic every time we want to learn something.
A good solution to these is to write articles! You will always write for a generic public, one that doesn't think as you do. So, this way you still force your brain to translate your thought into simple ideas anyone can read and understand.
The last step is the Debate. Now you have incorporated new information and digested it to its simplest form, you should enrich this knowledge with other people's thoughts. Like I said at the beginning of these sections, every brain is different. People process the same information in different ways and it is curious to found out how others thought of it.
For these steps, you have to rely on the people you know and understand you will not always have someone you can argue with. But my recommendation here is that every time you have a chance to debate a topic with someone, do it. If you don't have someone, it's fine. This is just complementary to what you already acquired. Remember, the goal is to make more knowledge of the same information.
The proposal I make to you is to own your process of learning. It doesn't have to be the one you learned in high school, but the one that makes sense to you. You don't have to follow all the recommendations I made, you just have to find out what better suits you. Remember, the idea is to make an upgrade of your current strategy to stick to it. Don't force yourself into a complex process, because is theoretically the best. What works is what you can keep doing.
"The capacity to learn is a gift; the ability to learn is a skill; the willingness to learn is a choice." - Brian Herbert