For me, development is all about familiarity. I feel highly profient with a language/framework when I am willing to explore and make mistakes. It is a sort of playfulness that comes from starting over and over and over until I get it right.

I get why programming teachers will often encourage students to do tutorials even if it means copy and pasting code. There is so much you learn anyways. The goal is to remove some of the unknowns. The more you explore the various parts of a language or framework, the less scary it becomes. I know I have very little memorized far as actual syntax or whatnot, however that is a good problem to have. Stackoverflow makes it easy to figure out exactly what each piece is doing, when you get to that point where you can focus on individual pieces as opposed to the overarching framework.