A martial arts adept knows how much you have to repeat the same basic exercise (a kata) before mastering free fight. This is the same with most pianists who need to practice long and often to get reflexes, natural grace.
So, why not the same for programmers?
Dave Thomas decided to create basic exercises for the software developer. To be practiced continuously with not constraint of environment or language. He called it the Code Kata.
I no longer write a lot about software programming (I no longer code by myself nowadays) but it was such a great idea, a flash of light so obvious and elegant that I needed to share with you. No programmer should avoid the regular exercise of Code Kata. Many companies should also force their own software developers to apply it.