So I was digging through my “read later” queue (2 years strong!) and found this masterpiece. It’s quite short and definitely worth reading.
Also some additional information about ShuHaRi can be found on Wikipedia.
Honestly, in the world of software engineering, there are not enough people who care enough about design, at least they are not the ones who get to make software. That is the reason why so much of non-public software looks horrible and is never really improved. Sometimes programmers have no escape and must create an interface – such cases often also have pretty bad results.
Therefore it has been my goal to improve my design skills at least to be good enough to make software that doesn’t suck when it’s used. So I’ve been following the ShuHaRi technique.
守破離 or ShuHaRi is a japanese martial arts concept that describes the stages of learning to mastery. Although it normally only applied to martial arts, the concept can easily be used in learning any skill.
Therefore I encourage you to read this short piece and perhaps also consider ShuHaRi next time you want to improve any of your skills.