Monday, June 23, 2008 9:02 PM
Jeff Atwood has a great post today touching on the practice of Code Katas. Code Katas, for those who are unfamiliar with the practice, is the idea of practicing a defined set of coding problems with the focus on the internalizing of the steps involved.
Jeff lists a collection of Katas suggested by Steve Yegge, the first of which I really like…
Practice Drill #1: Write your resume. List all your relevant skills, then note the ones that will still be needed in 100 years. Give yourself a 1-10 rating in each skill.
Although this is the first time I’ve heard of such of Kata, I absolutely love it. I’m a huge believer in developing fundamental skills in lieu of point technologies. For example, when deciding to spend your time learning a new family of design patterns versus the latest unit testing framework on the market, I would always recommend investing your time in the design patterns.
Why? To be certain, you’re not likely to do any harm to your professional development learning the unit testing framework, but the skills you learn specific to that framework will be outdated as soon as you switch to another technology. The patterns, however, will likely be applicable to any language or platform you switch to in the future.
Like any advice, taking this advice to extremes can be almost as harmful as ignoring it. Fundamentals are important, but don’t fall into the trap of all theory and no application. And, by all means, don’t hesitate to learn a new unit testing new technology as an excuse to expose yourself to unit testing or any other new skill. The subtle difference is to realize that the underlying skills and techniques that make the specific technology possible are what you should take away, not the arcane details of the specific technology itself.