Struggling when learning = deeper understanding
An interesting conversation took place recently. Namely, what do you do as a new programmer when you understood a tutorial but could not relate the learned knowledge to solve a code challenge.
My take on this is to try and struggle through the code problem even if it takes multiple attempts. Only reading a tutorial and saying ‘Now I know that’ is not enough, you need to bake that understanding in the brain by relating to something beyond the scope of the tutorial and prove that you truly got the concept not just the flow of syntax.
For my example of what I do, I typically write a blog post to prove to myself that I understood by communication to others and / or use it in a real World example for a problem I am trying to solve or improve the solution.
My point here is that you can read as many technical manuals from front to back as you want, but did you understand the ideas it was trying to teach?
That's why the good programmers know the concepts and can embrace new languages by only having to learn the syntax differences and minor changes.
Think of it as learning that a tap releases water when you turn it on, but different taps will dispense the water in different ways, your applied knowledge stayed the same.