Monday, December 19, 2005
Striving for a Fresh Eye
When you have been writing code for many years the difference between what is complex code and what is simple code for your fellow human beings kind of blurs away as you get used to your own ways of writing code.
It is at this stage that to make further advancements in the art of shaping knowledge you have to try to develop a perceptual stance that allows you to look at code with a fresh innocent eye, as if you saw code for the first time. Mind you, this is not easy at all as you can see something as basic and obvious, whereas a real uninitiated would only see a mumbo jumbo of code.
If you are very good at it, you will also be able to switch your perceptions between the 'fresh eye' and the 'adept eye', looking at the same code from two different perspectives. This will often allow you to see how the 'adept' can contribute to aspects of code composition that are hard for the 'novice', in a way that is natural for the novice to understand.
Just one small note of warning. Beware of showing your results to other adepts, as it is likely that they will be firmly set in their own ways and pre-judgments. Use a true novice as your benchmark and appreciate his feedback. If he doesn't get it it's probably not his fault, but a failure of yours in understanding his perceptual stance. That doesn't mean your work is useless either, but it probably isn't useful to that context and you will have to look if there is a more fitting niche where it can grow and prosper.