How my IDE stole my Kata
Best Coding Practices Blog
In which I lose my programming Kata and find the culprit
Date : 2012-05-16
When I had no job I practiced programming for fun. I was hanging on to the concept of having a programming job even though I really had little reason to believe I would or could have such a job. How could the universe allow someone to get paid for doing something that they would rather do than anything else. This is how I felt at age 10.
Also at age 10 every time I wanted to program, which to me felt like a magically creative process, I had to start out with some basics. I can't count the number of times my fingers flew through setting up a basic program in Turbo Pascal. I can almost feel myself type: unit... interface... uses... implementation... here's where the fun started, then the begin and the end. With that final little period to say it's all over.
All that time getting setup to write something was what modern programmers are missing and it's why we hear of things like programming “practice sessions”. Dave Thomas seems to have either started or revived this practice pattern with his CodeKata. I think we do need this kind of practice now but only because our IDE starts us out with an almost fully formed program. Class structures are in place with little comments to remind us what goes there. All of this coddling no doubt leads to faster development times which, I'm sure, is someone's goal. I think most programmers are not driven by the desire to finish on time and under budget though. Most of the programmers I've talked to and dealt with are more concerned about the process. The question “How was your day?” will more likely be answered with a description of the particular program solved that day and the stroke of genius that lead to the solution rather than a time and materials estimate.
I guess a question we could explore is how to reconcile our need for practice in order to keep up our speed and meet real world deadlines with our desire to solve real problems and feel inspiration. One way that I've found to get my Kata off without having to spend time simply practicing is to work on projects of my own. Little programs or tools that I want to make that have no deadline or even real structure. When I have a little time I just open one up and write code. This is some of my most relaxing time and I get to write code for the sheer joy of it. If you think you should hone your skills but you're having trouble getting into the practice sessions or Kata why not try starting a pet project that you can work on with no pressure and really let yourself create.
No comments yet