Are We All Crappy Coders?

I posted this on Joel Spolsky’s weblog, Joel on Software.

In the recent thread that asked where all the crappy coders were going, Simon Lucy wrote:

One of milestones on the Road to Enlightenment in the Zen of Software Development is that one is, to use your colourful adjective, crappy.

Having realised that one deals with all the results of being crappy and ameliorates them to the degree where competence is reached.

Simon’s comment has been churning around in the back of my mind since I read it, but the more I think about, the more lost I seem to get. These are some of the questions that have been nagging me.

1. Is every coder, in fact, a ‘crappy’ coder?

2. By avoiding ‘crappiness’, does someone become a great developer? Or merely competent? That is, is crap-avoidance sufficient for greatness?

3. By limiting one’s potential for crappiness, does one also limit his potential for greatness?