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.
