July 22, 2005

Knowing what you don't know

I came across an article called Unskilled and Unaware of It and the theme of the article has been popping up around me ever since. The basic idea behind the article is that "...the skills that engender competence in a particular domain are often the very same skills necessary to evaluate competence in that domain-one's own or anyone else's." I've taken that to mean that if you think you're good at something, you probably aren't.

While the article shows how this is true in all disciplines, i've especially noticed this in the world of programming. If someone sounds too confident, it probably just means that they really have no idea of what can go wrong. I've been following along over at The Daily WTF which highlights horrible code that has been discovered in production software. Much of this code seems to come from "highly-paid consultants." These people claim to know a lot about programming, so such so that they feel justified in charging outrageous prices for their services, and yet the quality isn't there. The scary part is, they might not even realize it. In a book i'm reading there's a foreword from Joel Spolsky in which he says "...most software developers don't realize just how little they know about software development."

There comes a time when one must question his competence in the field he claims to be an expert in. It just may turn out that the more flaws one finds in his own work, the more proficient one is actually becoming. I suppose that's encouraging; though sometimes i wish i could trade in some of this "wisdom" for the oblivious enthusiasm of ignorance it seems to displace.

Posted by Matthew at July 22, 2005 11:26 PM
Comments

"All you need is ignorance and confidence and the success is sure." -- Mark Twain

Or my preferred version of that: "Fake it 'till you make it!"

Posted by: Jack at July 23, 2005 10:26 AM