Learning totally new things. How difficult and interesting it is! Recently I had a great pleasure learning a lot about a new topic, STARKs. It was somewhat connected to my education background, but in many aspects it was about learning brand new things. I’d like to share some of the approaches that helped me in making it happen. As always, I’m far from stating that I’m so cool/awesome/whatever that this is how I work every single time. Still, I find these approaches quite important and useful.
When reflecting on how to learn totally new things, the very first thing that comes to my mind is attacking a problem from multiple angles. By multiple angles I mean reading/watching/listing to multiple sources that discuss the same topic. For instance, if we took a general performance problem of a modern app written in .NET, the learning could include parts about:
If we considered another example, like the zero knowledge proofs for L2 scalability of Ethereum apps, we could learn about:
My personal observation is that the broader the initial spectrum, the better and quicker are associations between the facts. Additionally, the time to market for application of such knowledge is much much shorter. Of course as always it’s to the learner to choose carefully.
Another thing that I try to do is postponing associations. At least in my case, the initial intuition, especially if this is a new subject, is often wrong. To help myself in building right intuition, I try to postpone findings until a lot of angles of attack is executed. After immersing into the topic aha moments are often and represent much better quality than the initial ones, based on some loose associations.
The Cunningham’s Law states that
The best way to get the right answer on the internet is not to ask a question; it’s to post the wrong answer.
I find it a bit harsh and hacky, as if read literally, it could encourage everyone to put rubbish everywhere! I do like getting feedback on my learning though! Someone willing to answer and verify both, assumption and the reasoning, is an invaluable help on the learning path.
The last one is the toughest one, provided by one of the great scientists and physicists of our time, Richard Feynman:
The first principle is that you must not fool yourself — and you are the easiest person to fool.
I wish everyone, including myself, learning that is driven by it.