raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Sunday, December 19, 2004
  Are you a perfectionist?


Before you shout a resounding "YES!", stop for a moment and reflect. Be careful with the words "perfectionist" and "perfectionism." These words have very specific meanings in industrial psychology that may not reflect your intentions.

Are you:
These qualities do not make you a perfectionist.

Perfectionists make unreasonable demands of themselves and their environment. The 'super high standards' of the perfectionist give them an excuse not to fail: since they cannot reach succeess by their own standards, they never really try and can never fail.

Perfectionists obsess over trivial details as a way of avoiding new challenges. A classic perfectionist behaviour is to spend time meticulously optimizing every last line of working code instead of moving on to implement something new.

The key here is not whether optimization is worthwhile, but rather why the perfectionist is spending so much time on it: the perfectionist is afraid of moving forward and uses perfection as justification for holding back. "I'd like to get started on that, but I need to finish this work first."

Another perfectionist behaviour is called "blame and shame": they can't reach their own high standards because of the shoddy work and bad attitudes of their colleagues.

Again, the root motivation is avoiding failure: the perfectionist could write great code, if only her teammates would get their act together. But since her teammates are such shmucks, she spends all her time fixing their code or agitating for new methodologies instead of firing up Emacs and writing code.

Is it wrong to agitate for improvement in your organization? Of course not. But to the perfectionist, it isn't really about improvement, it isn't even about excuses for failure. The perfectionist didn't even try to succeed because she knew that the project could never reach her standards, so she didn't "waste her time" even trying.

This link discusses perfectionism amongst students. You might find it illuminating:

http://www.kidsource.com/kidsource/content2/perfectionist.k12.4.html

(From the old Joel on Software Forum, with some edits for clarity)

Labels:

 

Comments on “Are you a perfectionist?:




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /