The Power of Repetition
Now that I had solved the Rubik's cube, one would think that I would never touch a Rubik's cube again. However, if my accomplishment was merely solving the cube once, this wouldn't really be a note worthy achievement. Because at the end of the day, my goal was to be able to solve any standard Rubik's cube without any instructions. So the last few days have been an interesting exploration into the power of repetition and there is value to doing the same thing over and over again.
When I first solved the cube, I needed to look at the instructions every time and try my best not to fumble my way through it. Before I knew it, I was able to do this entirely by memory. Then a funny thing happened, the more I solved it, the more I began to understand why I was turning or twisting the cube a certain way. With added uniqueness of the Rubik's cube being a 3D puzzle, this allowed my brain to twist and turn in many different ways as I would shift the perspective on the cube.
This was interesting to me because I started to see some gaps in the way I would try to learn things in the coding realm. Regardless of what the topic was, my goal was to cover as much ground as quickly as possible. In other words, I'd try to follow the solution straight through the end and then feel like I had "learned" the material. I didn't think I was a master by any means, but there was a sense of achievement that usually caused me to stop there and before I knew it I only vaguely remembered the concepts I had covered.
One thing that often blocked me from practicing the concepts was this false belief that I didn't have things to practice it on. For example, when it comes to animations, I know most of the basics that come with it (i.e., CSS animation, keyframes, JS animation libraries like Greensock, etc.). However, I could never bring myself to just tinker with things because I "couldn't come up with good ideas" to animate.
What I've learned from my encounter with the Rubik's cube is that your experiments to practice the skill often are slight deviations from the original solution. They aren't these grand original masterpieces that spring out of nowhere. In the case of the Rubik's cube, I'm not trying to come up with my own algorithm, I'm just trying to gain further insight into the techniques. And there's no reason why the same mentality shouldn't be taken with coding as well.
Somewhere in this lesson learned is probably a studying technique waiting to be derived and used, but it is currently eluding me. Whenever I do figure it out though, I will be sure to write more about it then.