Skip to content

Instantly share code, notes, and snippets.

Created August 22, 2012 23:57
Show Gist options
  • Save anonymous/3430707 to your computer and use it in GitHub Desktop.
Save anonymous/3430707 to your computer and use it in GitHub Desktop.
Pragmatic Thinking and Learning: Refactor Your Wetware

When you are not very skilled in some area, you are more likely to think you’re actually pretty expert at it.

In the paper “Unskilled and Unaware of It: How Difficulties in Recognizing One’s Own Incompetence Lead to Inflated Self-Assessments” [AUOIHDIROOILTIS] , psychologists Kruger and Dunning relate the unfortunate story of a would-be thief who robbed a bank in broad daylight. He was incredulous at his prompt arrest, because he was under the impression that wearing lemon juice on your face would make you invisible to security cameras.

The “lemon juice man” never suspected that his hypothesis was, er, suspect. This lack of accurate self-assessment is referred to as second-order incompetence, that is, the condition of being unskilled and unaware of it.

This condition is a huge problem in software development, because many programmers and managers aren’t aware that better methods and practices even exist. I’ve met many younger programmers (one to five years of experience) who never have been on a successful project. They have already succumbed to the notion that a normal project should be painful and should fail.

Charles Darwin pegged it when he said, “Ignorance more frequently begets confidence than does knowledge.”

The converse seems to be true as well; once you truly become an expert, you become painfully aware of just how little you really know

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment