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

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.




Full Stack JavaScript Engineer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to write Python Async/Await Test

Automatically Resize All Your Images with Python

Top VS Code plugins for beginners.

30 Days of Coding-Day 2

Tutorial Using GIT and Connect to Github for Your Project in Pycharm

Risks of using a spreadsheet for project management

Epoch 1 is drawing to a close, and in just a few days we will be entering into Epoch 2.

Job history clean up in Dynamics 365 Finance and Supply Chain Management

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kyle Willard

Kyle Willard

Full Stack JavaScript Engineer

More from Medium

CS Journeys is back with virtual field trips, class chats, and more!

Top 3 Things you should know before studying Biomedical Engineering

Everything about the Virtual Internship at LetsGrowMore

Tech Journal: Day 5