A learning hack that might help
I don’t know about you but at my age and after two babies I don’t have the most prime state of memory. But the brain is amazing, it adapts to all the changes that we throw at it through life. By adapts, I mean we can find ways that work for us best. It’s good that no one else knows us better than we do ourselves (well, maybe just except our parents). And we must use this knowledge to our benefit when learning. I won’t go into detail about all the learning styles, the internet is full of examples, but I am going to underline this very idea, that we need to know our learning style to learn best. Though it’s never as simple as that because I might be more of a visual type of person but if the content I am seeing doesn’t have much of the background information, what good would my learning style be? Choosing a good source of information is one of the most important things you can do for yourself, but it’s getting harder every day to do it because the internet is full of choices, so full that even getting to choose one takes time. We are used to seeing rankings of top universities of the world, but who is doing the global rankings of all those online courses out there? If there is no easy way to compare, how do we know what will work for us? That’s a good AI project to work on, global rankings of online courses to help newbies choose the best learning path; maybe you will do it? It would certainly help, as there seems to be a race going on to provide as many choices as possible, drowning us in tutorial hell all the while telling us not to go there. Everyone seems to have created a better course than their neighbour next door. And it’s good, choices are good unless all you do is try and choose the best one.
I am sorry, I can’t tell you how to do that. The only way is to choose one and go with it, but I also believe that you don’t have to stick with something that doesn’t work till the end, especially if the content is hard to understand or outdated, or painfully boring. Because you will waste time and think that something is wrong with you when in reality that particular course is just not right for your learning style. So learn to ditch something without conscience if it’s not working. But not because you think there is your perfect course somewhere out there waiting for you (yeah, I am talking about commitment issues too). But it isn’t like a relationship, your learning material won’t get angry if you supplement your learning with other courses. What I mean by that; if you didn’t get a particular topic, I advise you to go and research it deeper, don’t leave it until the end of the course, or the book, do it at that point of time and go deep. I found that if you don’t do research, more stuff will add on top of that empty space later as they will be connected to the concept that you have not understood properly. It happened to me and the worst part I didn’t know when that point of bewilderment was, so I went back to relearn, meanwhile losing time.
But I have nice advice for you that somehow happened to me naturally. While doing all the courses and reading books and whenever I would get a snippet of Javascript to figure out, I would later put it in a single file that I called Practice_Javascript.js. Once I am done with it, and after making sure that I understand what it does, I would comment it out. I have my FizzBuzz code there, I have my Fibonacci generator, and many more. What works for me now is that I go back, take one snippet, and try to memorize it. I know it sounds bad, who does that? But it helps me understand what is happening better (way better than at the time of seeing it in the course or in the book). I try to look at it and replicate it a couple of times and what I realized is that not only it sticks better to my brain, but I also found some ways to make it better; something I couldn’t have noticed earlier. It feels amazing because it allows me to see the progress I have made and motivates me to keep going. This is a growth journey and by looking back, I am able to see that things did change, I haven’t stayed the same. I also heard that some of these codes end up in job Interview tests (haven’t tried that yet), so it’s good to know some of them by heart. But there is nothing better than the feeling of looking at them now, knowing that these were a mumble jumble a month ago, but today they make total sense.
I don’t propose to rely on memory alone, you need to understand JavaScript and what each line of code does, otherwise, there is no help on Stack Overflow. But I found trying to understand by memorizing some of the code is another kind of learning. Going through the motions, following a teacher only helped me collect some code, and mostly at the time of listening everything makes sense but trying to do something else with the same code later doesn’t work, it means that it needs more time to sink in. And that’s ok. Being self-taught helps because there are no classmates to compare yourself to and you think you are pretty good and that’s a nice feeling to have. Being down doesn’t open new synapses.
Keep on working, memorize if you need to, understanding will come with experimenting, failing, and debugging. Also, stop long enough to allow yourself space to think back and connect the dots. Learning is not a race and rushing through material won’t get us anywhere faster, if anything, it will hold us back when we need to find a solution and there are no teacher’s hints to help but too many dots left behind us to connect. I believe that any programming language (especially your first) must be understood deeply, and any amount of time spent on learning it will return a higher value. And there is no such thing as being slow at learning, just a different style of storing and understanding the material, and we all are different. Be proud of yourself for doing it, don’t spend time comparing and criticizing your ways.
I say, let’s get some more learning and failing going on.