How to Continue Learning Programming No Matter What
How to Continue Learning Programming No Matter What

Do you have problems of continue to learn programming? Or you don't see results and you are tired of trying? In this video I want to share most popular problems in learning programming between my students and my recommendations to solve this problems.

Motivation doesn't work. Excitement doesn't work.

When people just started they normally excited to learn something new, maybe to change their career to programming but normally excitement doesn't last long. After understanding how much you need to learn, how difficult it is and how many hours you need this excitement disappears really fast. And that's okay because you need to to have realistic expectations about programming.

The same happens with motivation. You want some video, you see how fast and easy somebody is coding you feel motivated and you want to code like he is doing it then you start and it's slow, difficult and doesn't work.

So if motivation and excitement don't work what works? You need to set an end goal for you and write a plan. Sounds boring right? The real truth is the boring path without shortcuts work best. For most people to want to become a programmer getting their first job as a developer is a nice end goal. It don't mean that it's an end goal for the whole life but at least for the nearest future. If you are already a programmer you might think that you language or company are not the best and you want to learn something new. So "Learn something new and maybe it will help me" doesn't work. The goal learn Typescript and Angular because they are better paid or switch to mobile development because you are more interested in it are good end goals.

For your goal you need a plan which is at least a checklist with steps what you need to investigate or learn until you reach it. I see between a lot of developers that those you have a plan and steps to execute it get to their goal at all.

Struggling hard, especially when getting started

All beginners are struggling really hard. As programming is completely new for them even simple things like loops or variables are difficult to grasp. And this is completely normal. You mind need time to adjust to programming, to learn new things. You can't learn something without experience in the evening. Even if you think you understood some concept it need to lay there in your head for some time.

There is no shortcut here you just try to learn and move forward with small steps.

People want to learn fast

Which brings us to the next problem. People want to learn fast. They want to become programmers in days and get a job and earn a lot of money. Some people wrote me here on this channel "You video on this topic is 1.5 hours long. Why it is so long? I don't have so much time". So some people have this weird mentality that learning a completely new topic and spend 1.5 hours on that is long. It's not realistic.

So you need to be realistic and your plan must be realistic. It should not put pressure on you because you wrote there to get your first job in a month from zero knowledge.

Most important thing here is consistency. Coding every weekends 8 hours a day won't work in a long term. Coding every evening 1 or 2 hours is what you need. Because you brain will have time to learn new things and adjust every single day. You won't lose track of what you did because it's every single day. And in excitement you might want to sit there 8 hours not stop to learn programming fast and getting your first job but realistically you will be burned out in a month and have zero motivation to learn programming again.

So as everywhere consistency is a key.

Copy pasting the code without understanding and that not knowing how to fix or improve

What I see really often especially with online courses is that people try to learn it also too fast. They watch 1 video, copy paste the ending code of the video and they go to next video. And they get a feeling that they know what's going on in code because they just watched the video. It's not a real knowledge and after some time you will see that you don't have progress and you will be frustrated.

Instead you must code every video together and pause it. You must log every variable and check it it's really what you thought. You need to have at least 70% understanding what is happening there. 100% is not realistic when you a beginner and it's difficult to have the whole architecture in your head. It will come with time but when you write code yourself first of all you get skill of typing without mistakes, and at the beginning you will have lots of typos. You will need to find this typos and fix them and it helps you to understand the code better.

Copy pasting solution from stack overflow also don't improve your knowledge. At least you need to write it from scratch and check every variable to get some understanding.

Spending lots of time on debug demotivates

During the last 10 years I spent so much time on debugging. You just have some error and you spent hours or even weeks on it. And of course it is extremely frustrating. But it's a part of a journey you can't avoid this but you can reduce this time by learning debugging tools and increasing your level of expertise around the problem. If you just started to learn something new you have your small amount of code, a framework or language where you have zero knowledge and your problem or a bug. The most you know about everything that surrounds you problem like language the more you understand what can cause it, how to debug it at least and how it works from start to the end.

So just take you time, dig around you problem, improve your expertise on the subject and remember that on my longer bug I spent 2 weeks of time. So maybe it's not that bad for you yet.

Bonus

And here is my bonus point. Don't compare yourself to others. It won't lead to anything other than frustration. You see awesome programmers who can write hundreds on lines of code without even thinking about it or people who solve your problem in a matter of seconds. It all doesn't matter. What matters is your progress, your achievements and that you today have more knowledge than you yesterday.

Also if you want to improve your programming skill I have lots of full courses regarding different web technologies.