7/ Initially avoid using new shiny frameworks until you have a good foundational understanding of how programming languages and platform technologies work
1/ Youtube can be great but it easy to get stuck watching tutorials and substitute that for building yourself.
It’s important to know how you would solve a problem by yourself.
Problem solving is 99% of coding.
2/ Try to build something small everyday. This is a real shortcut to really up your skill level.
Working on projects is also a great way to build your portfolio.
4/ Concepts > Syntax
Concepts for example OOP, functional programming and separating the Render Logic (visual) from the data / business logic.
Syntax can be Googled anytime.
5/ Coding should be the last step.
Break the problem down first , how would you solve the problem as a human? This can give you clues as how to implement in code.
6/ Learn about the hardware.
How do computers work? How code gets translated to CPU instructions, HTTP, GPU parallelism etc. This will help you to understand why the code works the way it does.
8/ Explore software engineering in separate contexts: Graphics, Audio, CRUD, Games, Machine Learning …
Understanding multiple areas can help you generalise concepts and apply them anywhere.
The most important thing is to be consistent. Coding is difficult and progress will not happen overnight.
Don't be afraid to make mistakes and experiment!