Every programmer secretly knows that he or she is the best programmer. For 
this reason, every idea you or I have is most often inferior, occasionally as 
good, but almost never better than the idea of the programmer we are talking 
to. Hence, there is a lot of bozo bit flipping. To counter this tendency, I 
try to use a couple of simple factors when evaluating an idea. Has someone 
smarter or more successful than I am supported this idea? Is it simple or 
elegant? Does it make sense? What have the experts written about it lately? 
Finally, if the idea comes from a bozo, then.... Well, you understand.

Programmers hate to read anybody else's code because it is always crap. If 
someone volunteers to review your code, there is malice afoot. No one is going 
to review your code because they like you, like your code, or want to tell you 
what a good job you are doing. People volunteer to review code because you are 
their bozo, the bit has been flipped, and they want to tell you why they are 
the better programmer. Constructive code reviews seldom happen because 
programmers hate to read someone else's code, and everyone already knows that 
only bad news is likely to be delivered in a code review.

There really are programmers who are ten times faster than everybody else, but 
who are they? And, do they get paid ten times as much?

Emerson wrote, "Every man I meet is in some way my superior." Programmers 
don't read Emerson. The current adage is that all men and women are created 
equal. This is actually part of a very old proverb, but in our age of 
political correctness the rest of the proverb has been lopped off. The 
original proverb is that all men are created equal but by practice grow apart. 
This means that you and I were equal to Bill Gates and then life happened and 
now God goes to Gates for a loan. Emerson more than likely knew the original 
proverb and still believed that each man had at least one quality that was 
superior to that quality in him. And, yes, you and I are probably superior to 
even Bill Gates in some way. Unfortunately, if we flip the bozo bit, we are 
unlikely to ever discover those superior qualities and our lives are 
diminished.

Programmers are emotionally attached to their code, but don't want you 
reminding them of it. Pardon me, ladies, but programming is as close to 
childbirth as a man is likely ever to get (except for passing gallstones). We 
love our code like a woman loves her own children. This is why we find 
negligent mothers, and those that besmirch our code so loathsome; it seems 
unnatural and offensive. Can you imagine if mothers indicated that other 
people's children were brats as often as programmers think someone else's code 
is crap? I guarantee you that if each mother had to raise someone else's 
children as often as one programmer has to read and maintain the code of 
another, that there would be a whole lot less understanding between mothers. 
George Carlin wrote a book called Brain Droppings. Lines of code clearly and 
intimately show how we think. If one is a pedant, it will show up in your 
code. Blocked comments and in .NET the #region directive will be everywhere. 
If one is a slob, commented and useless code will be left lying about like 
dirty underwear and empty beer cans. Lines of code are our brain droppings. 
The metaphor is accurate. Don't read my crap and I won't read yours.

Many programmers are intellectual bullies and egomaniacs. It is commonly 
believed that we programmers are mostly geeks that were picked on in grade 
school and are now paying the rest of the world back for their transgressions. 
To some extent, I have witnessed and occasionally practiced this bullying 
behavior, although I am trying to grow out of it. Oddly enough, programmers 
seem to practice geek-on-geek violence by disparaging each other's code as 
crap.


Reply via email to