The Almighty Rabbit Hole

I have been researching for about three hours now. From YouTube videos to blogs to Quora posts. Normally, I would be annoyed when this happens, but the amount of information that I have gained because of this research is astounding. My research went from how to learn programming fast to how to build muscle all the way to computational thinking and logic. The number of tips and advice that I have taken note of is going to save me weeks, maybe even months in my journey.

I will share the most important ones here, feel free to adjust them to your own personality, preferences, and goals; as these tips will not work for everyone.

  1. Read the documentation of the technology you’re trying to learn. Read just enough to start working on a project or unstuck yourself.

  2. Work on a project that makes your life easier. This will make you more motivated to work and improve it since you’re the one who’s going to use it. After all, this is what programming is all about.

  3. Don’t copy and paste the code. Type it yourself. This is going to cement the syntax in your memory and help you notice the small details that otherwise you would normally miss. Benjamin Franklin used this technique to improve his writing skills. Google “Copywork Benjamin Franklin” for more.

  4. Learn the core concepts deeply and don’t go down unnecessary rabbit holes. Some rabbit holes are necessary. Some are destructive. Learn to differentiate.

  5. Interleaving is key to mastering a topic deeply. Interleaving is where you study different topics of the same subject. For example, you would study chapter 4 & 6 in Physics, where chapter 4 could be about Newton’s Laws, while chapter 6 could be about Thermodynamics or Optics. You’re still studying Physics though. Same with programming. You apply that by studying a couple of concepts where you interleave between them in 40–50-minute sessions or however you structure your studying sessions. Make sure that the duration between the topics is not too long or too short, as this might deteriorate the possible gains of interleaving, or make you distracted.

  6. If you’re excited about what you’re doing all the time, you’re doing it right. This could greatly differ from person-to-person; but if you find what gets you hooked and keep doing it, there’s nothing stopping you. For me, I guess that could be collaborating on open-source projects and finding a coding buddy where we could create all sorts of cool projects together and whine for the rest of the day about that piece of code that is not working no matter what we do.

  7. Last but certainly the most important one, know oneself. Listen to others but remember that everyone is different. What applies to someone else may not apply to you. If you understand yourself and what you want, you can achieve it.

I would like to wrap up this article with a quote from one of my favourite scientists:

“Insanity is doing the same thing, over and over again, but expecting different results.”

— Albert Einstein