There is a common misconception among novice, junior and seasoned developers that if they think long enough you eventually would come up with the right decision which is absolutely wrong. The question is I want to start learning skill X, but i don't want to waste time on learning something that won't get me a job. This is what people in the industry commonly refer to as Analysis Paralysis. These are questions that the majority of developers deal with every now and then. And what I wanna tell you on that, is that you would much rather make the wrong decision and get started than make the right decision but wait for a really long time.
The reason why most people are stack in tutorial purgatory and not improving is because they are trying to find the right resources, the perfect tutorial, the perfect guide, the perfect project and thats why they never improve, they never get a job, they never get a client because they haven't even taken those shots. It's one thing to take a shot and then miss it versus never taking a shot and then you have 100% chance of missing it.
With that said, the same applies in programming. If you don't mess in coding and programming a lot and doing it really fast, you are gonna be stack at exactly where you're at and this is the concept of analysis paralysis.
Life is not made up of one decision, but a sum of all your decisions combined. The only way to improve you decision making ability and the path you choose, is through making decisions. You want to get better at whatever you are doing by doing it a lot.
The only way to get to quality is through quantity. And what this means is, do a lot of what you are doing and then you gonna start improving it. When am faced with a problem lets say in coding, the way i get better at it is by coding a lot and making a lot of commits to my Github everyday putting in the effort and time.
Life is a sum of all your decisions not just a few decisions and the only way to improve the quality of your decisions is through making lots of decisions. The only way I improve through programming is through making tons of mistakes and failing fast.
The same thing comes to making decisions in life. You would rather make wrong decisions really fast, makes lots of them then your ability of making decision will improve, your quality of decisions will improve, and by you making tons of decisions you will cut down your decision making ability from a decade to a year so you will be skilled at making decisions as you would be if you waited 10 years.
Forget about making the best decision, or there is a best coding project or there is a best way not to waste time coding. What else are you gonna be doing anyway, you gonna be wasting time doing something else which is stupid. You might as well waste time while coding working on a project "you think is not correct" than finding out why it wasn't correct a few days or weeks into it but you have to make wrong decisions really really fast.
You need to become an action taker, QUIT dilly dallying around, thinking "oh there is a best way of doing something". There is no best way, just do the wrong way as first as possible and thats whats really exciting because if you knew the ending it would not be fun. You wanna go down a path maybe a road not traveled enough, go and discover it, figure it out see whats going on and then come back and improve from there. So don't be scared of wasting time, just get in there and start coding and this way you can hold yourself accountable and get things done and become a part of all the action takers because thats what i want for you.