Really good article. I like the emphasis on avoiding having to re-learn things when you advance and start using this knowledge in real word settings.
Tutorials and study environments should be treated as professionally as possible and young programmers need to be aware of everything they need to learn in order to be Software Engineers.
Test-driven development is definitely one of those things. Something that I did not learn till very late in my self education and I struggled with it because of that.
I also suggest that new programmers learn how to use Git early on so they can start pushing code to Github or something similar.
Even if it's just tutorial projects, I think it's good practice to create a repository and use new branches when changes are made so they understand how merge requests are seen through.
Terminal is something I see young developers struggle with or try to avoid all together.
Windows, OSX, Linux. Either way you'll need to use a Terminal window at some point. And it's much better to begin learning early on than to stumble into it later.
Thanks so much for the article!!
Learning things correctly the first time around is so important in programming.
I wish you all the best!!