The entire slide show is fascinating, but the slide about the fourth stage of skill development caught my eye. Dave mentions maxims as a teaching tool used by those who have attained fourth stage skills. This struck a chord with me and fits well within my experience. For example, career consultant Markus Buckingham uses maxims to great effect.
My wife and I are fond of a particular maxim:
There are a number of maxims in the software world as well. They guide the design of any and every routine within a particular system. Some examples:
Explicit is better than implicit.
- From the Art of Unix Programming:
- Fail as early as possible.
- Always do the least surprising thing.
Don’t repeat yourself.
Release early, release often.
One point to note: practioners at the lower levels in the Dreyfus Model don’t necessarily understand or apply the maxims created by those at a higher levels.
I wonder what implications that has for the Ruby and Rails communities, give their surge in popularity? Or the fact that a lot of developers will be coming to the language with pre-existing maxims to guide them? The Python community may offer some insight here, as the effects of pre-existing maxims is well-known to them. (You can tell when a Java programmer has written Python code. It looks… different.)
But hey, we all had to start somewhere.