Commuting by train and listening to Doc Norton talk about Sharpening the Saw on Dot Net Rocks episode 632 was really interesting the other day.

The whole show is interesting - if you enjoy listening to podcasts, this is one episode of Dot Net Rocks that I’d particularly recommend - but one real gem was when Doc talked about the Dreyfus model of skill aquisition.

According to the Dreyfus model, learning goes through five stages:

  1. Novice

  2. Advanced Beginner

  3. Competent

  4. Proficiency

  5. Expert

At the novice stage, rules are followed blindly, without question, and without any understanding of the context to which the rules apply. Moving through the scale, the importance of the rules diminishes as the underlying knowledge becomes second nature, with the rules followed where they make sense in context, and bypassed where they do not. At the Proficient level, a person “perceives deviations from the normal pattern”, and an Expert has an “intuitive grasp of situations based on deep, tacit understanding” (both quotes from the linked Wikipedia article).

Why does this resonate with me?

For one part, we work in an industry that sometimes seems to be obsessed with process and procedure - stuck on the idea that if we can just codify the right process, or adopt the right tool, we can reduce or eliminate project risk and always deliver on time and on budget.

While process is important (and let me be very clear that I believe good process is extraordinarily valuable), it seems to me that process obsession limits us to people that are competent at best. Why? Because those who advance higher on the Dreyfus scale, those who are Proficient or better, are exactly those who dislike being hemmed in by process, those whose productivity is hampered by process they’ve outgrown - and they’re going to move on to somewhere else, taking their skills with them.

The lesson is simple to state, but hard to achieve: Hold on to process where it delivers clear value, but never for its own sake.

Elsewhere in this episode of Dot Net Rocks, they talk about the importance of deliberate practice, with Carl relating how he was made to play scales for hours on end while studying.

Richard Campbell said:

I was reading a book on exactly this. I think it was “Talent is Overrated”. It said “Effective practice by its nature is unpleasant” (emphasis added).

Think about the programming you’ve done this week. Was it routine and easy, or were you challenged? Did you learn something new this week, did you become a better developer this week? If you didn’t, why not?


blog comments powered by Disqus
Next Post
Reducing Software Defects  22 Apr 2011
Prior Post
Lambda expressions and Block syntax  15 Apr 2011
Related Posts
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
When are you done?  18 Apr 2022
Fixing GitHub Authentication  28 Nov 2021
April 2011