Learning to Program — I keep learning but I forget everything!

Kyle Willard
3 min readAug 24, 2021

Everyone has gone through this at some level, some more than others. Personally, I did a ton of Udemy courses and when I got done I pretty regularly hit a roadblock.

First, don’t get down on yourself or freak out. Again this happens to the best of us. You see I learned (far too slowly) that it is far more viable to learn how to read docs and then use what you learn in a project instead of a course.

OR if you like courses, as I do, then go ahead with the videos and material so that you hit roadblocks and challenges. That if you haven’t taken the hint is the key to learning a new programming language or framework.

Let’s go over it. If you are new to programming or are struggling after starting you are going to struggle with different aspects. Seeing as I am primarily a JavaScript developer I will use things like Async & Await and scope and the difference between let, const, and var viable examples. They can be confusing and can take a bit of getting used to, now the variables are pretty simple, just avoid var, but the question is more the why you shouldn't use var. Someone could simply tell you that it is bad practice and leave it at that, I have seen that a ton of times, but there is a real reason behind it, and that is what you need to focus on. That is the key, if you are not given the why stop what you are doing and figure it out. Otherwise, it will not fully make sense to you, and you will not have that understanding as a tool as you move forward as you learn.

Since I brought up the topic why shouldn't we use Var in JavaScript? This is a fun one. First of all outside of a function block, it is a globally scoped variable that attaches to the window object, additionally, you can redeclare it, and can update it, which is similar to let as far as updating, but if you can redeclare a variable a million times you can quickly see some major issues in your codebase.

Now while it is simple to say that using Var post ES6 is simple, and technically correct, why would you not want to learn about the why? They why allows you to see the bigger picture. Additionally, you will likely see code examples and legacy projects that use this code. You need to understand it because if you do not, and you do not fully grasp the differences between let and const then you cannot update the code from a past style of code to a current best practice.

I digress. The point is this, as software engineers, our job is to learn as we do our job. Always be learning, and that means always be playing and experimenting with different coding languages, frameworks, libraries, etc. If you do not take the time to hammer out code then you will not create the muscle memory. That muscle memory is how you will hone and sharpen your skills. If you want to be successful you will have to hit those roadblocks, and hit those deadends.

Take the time to fail a few times, because learning from that failure will make you a better software engineer.

--

--