In general, there are 3 parts to effective self-learning: (1) The process, (2) approach, (3) Personality. My personal ultimate turns out to be is a combination all the theoretical models applied to practical daily use depending on the type of skill that I am learning, e.g. learning to do programming will be very different from how to play the piano.
- Observe and imitate others; if you fail, find out why; if you succeed, improvise; keep practicing until others want to imitate you, then you know you are good. Share your knowledge and actually use it regularly. The specific process details depends on the type of skill learnt.
- Every skill has different levels of mastery; break the skill into parts to make learning more structured; the sub-skillsets are like the pre-requisites that you must have before you can have significant progress; progression is also likely non-linear for example, to swim, you do not really need to learn diving nor backstroke, but you cannot say you have mastered swimming if you can’t do either properly, therefore, map out all the sub-skill that will lead you to mastery and make sure you cover all of them as you progress. On the other hand there are some skills that do not have boundaries, e.g. try to define the singing skill, even a professional singer can be limited by the genre and vocal range etc; hence you need to frame the problem and clearly define what you want to achieve, otherwise you will get to no where.
- Be patient and humble. Always realize that there are many things that you do not know that you do not know, so always try to uncover these blind spots. Believe that you can do it, but also have a purposeful reason to learn the skill.