Last night I had the pleasure of helping someone test for their next rank at the dojo. To my dismay, the person was extremely disappointed with himself for only being promoted one rank instead of two.
Are you kidding me?
I understand how it feels to fall short of a goal you’ve set for yourself – it’s depressing. But setting yourself up for failure by creating unrealistic goals and expectations is asinine. Studying a martial art takes skill, practice, dedication, and most important of all patience. It’s an old addage that by the time you truly understand a martial art, you’re too old to practice it.
As I congratulated this person on their achievement, I reminded them that what they had done is not easy – if it were, then everyone would do it.
What I find interesting is how this mirrors what the software industry has learned over the years. In my very short time as a developer I’ve come to understand why methodologies like agile have taken hold and become desirable. It’s because you set an overall goal – which many or may not be realistic. However, by setting smaller, definable, and achievable goals through units of code (if you will), we better realize if the overall goal is realistic – and adjust it to meet the requirements while maintaining a firm grasp on what you’ve already accomplished.
If this person whom I helped test had set the goal of obtaining one rank higher as opposed to two – he would have laid a better foundation in his skill and probably found a new technique to add to his common repertoire. However, by attempting to do something that’s incredibly difficult and not very common – he cheated himself by spreading himself too thin – achieving maybe only 50-70% efficiency in 20 techniques rather than 100% efficiency in 10.