I agree, but that can also be a major benefit. I always try to learn a new skill by deciding what I want to make and then researching the language. That way I have a purpose for it all and a vision of what I want to create. I inevitably get stuck at some point with every new language I try, but for me that helps me learn faster than being taught directly. Sometimes I have even spent hours on something just to scrap it and do it better, but that kind of forces my mind to remember the right way. So for me, I have found that being lost is actually the best and fastest way to REMEMBER the coding skills, even if it takes longer to actually produce working code at first. It's kind of like how you may need to copy a word 100 times in school to remember it, but failing a test because of one word will help you remember it too. I could have memorized words in 3rd grade for the spelling B, but maybe it would have taken me a month to master the list. Instead I got disqualified from the spelling B In round 2 because I misspelled "government". I forgot the first N. so while I could have recited that word 100 times, I instead failed on that word - the end result is that I never misspelled it again. This is my view on coding too. Making Mistakes and being lost can be equally effective as learning in a more organized fashion, if not more effective.