I am convinced that a very effective way to learn how to program is getting a quick introduction from a few tutorials and by following along with just doing what you are being shown. Then, as soon as you can, start your own project . Work on it parallel to your learning.
In the past I've tried taking up so many programming languages, so many times. In the end I would get too bored after too many tutorials and I'd just abandon it.
The past year however my approach was different. First I had an idea, then I would design it on paper or I would wire-frame it and then I would search on how to do that. I tried hiring someone from Fiverr but my budget wasn't enough so it didn't really lead where I wanted. Still, it was very beneficial for me because I had to create wire-frames for the then hired developer. This created a deadline for me so I had to do a lot of brainstorming and designing and researching in a very short time. In the end I had a better understanding of what I have to do.
When you have a real project in mind during your learning path, it motivates you to learn the necessary technologies to realize that idea. I had to understand how databases work, what the back end and what the front end is. Etc. etc. There are countless courses and videos online that can help you reach your goal. Also do not underestimate books. They have been a tremendous help as well.
Three courses I would recommend are the ones below, if you want to get started with programming. (I won't post them as affiliate links because I don't want you to believe that I have a monetary incentive with giving away this information.)
[ Pro-tip on getting courses on Udemy. Open a new private browser window there will be a sale going on. You can also try this with different browsers and see if there is a better price with some other browser. ]
If you notice I never completed them. Why? Because in my world courses aren't meant to be finished, they are meant to guide you in the right direction. Once I felt that I knew enough I moved on to what I thought I should learn next that will bring me closer to my goal.
Then I kind of stumbled across the Codemy courses, codemy.com . I was lured into buying a lifetime subscription through his YouTube videos. You can find a coupon code somewhere in his videos description. In the end it was like 25 or 40 $. I don't remember the exact amount. Again I never really finished a course.
After these courses I was lead to Django. In particular I liked the crash course of just Django which is free ( learn.justdjango.com ).
Last week I paid $69 on an text course that shows you how to combine Nuxt with Djano ( djangowaves.com/django_vuejs_course ). After the first few chapters I decided to put it on hold because I realized I need to fill some gaps. Thus, I continued with something more fundamental, that is Vue js.
Again, always while I was doing the courses, I was practicing on my own projects. Yes, I do follow along. But then I stop, sit back, think if I already know enough to start working on my project.
With Django I made my personal study app. Now with Vue js I want to create an improved version of the same study app. I might even publish it one day if it becomes good enough.
Sometimes I'm thinking maybe I shouldn't have taken all these shortcuts. Maybe I should be more focused on some specific courses-tutorials until I finish them. But I'll forget them anyways, if I don't use the knowledge acquired. Unfortunately, I don't have the time luxury as well. In the end if you don't create anything why bother at all?
Go ahead and search on YouTube "tutorial hell". You'll find some interesting videos you might like. I liked the one of Joshua Fluke which you can find here youtube.com/watch?v=-GB9qKbmGko