Wtf: "Since I have children, I try to spend evenings with them sometimes. The rhythm that works best for me is to work a very long day, sleep in the office or near the office (I have a long commute from home to work) then go home early enough the next day to spend time with my children before they go to bed. I am not comfortable with this, but it is the best compromise I have been able to work out. Go home if you have a contagious disease. You should go home if you are thinking suicidal thoughts. You should take a break or go home if you think homicidal thoughts for more than a few seconds. You should send someone home if they show serious mental malfunctioning or signs of mental illness beyond mild depression. If you are tempted to be dishonest or deceptive in a way that you normally are not due to fatigue, you should take a break. Don't use cocaine or amphetamines to combat fatigue. Don't abuse caffeine."
Some programmers I knew in college could have used this paragraph. It seems crazy and out there, but it reaches a very small sect of the programmer community.
I and some coworkers plan to wikify this and update it with more of a web development spin on it. It's a truly astounding document, with lots of good information relevant for programmers.
Not going to read it right now, but that is a truly impressive Table of Contents. The relatively few number of entries that involve sitting with hands on keyboard and code editor open accurately reflects the distribution of skills required to be a good programmer.
"The multitude of available divination techniques are very useful for determining your own semi-conscious desires, as they each present a complete ambiguous and random pattern that your own subconscious will assign meaning to."
It reminds me of Douglas Adams' speech, "Is there an artificial God?"
"Apparently, we need to think about the building being inhabited by dragons and look at it in terms of how a dragon would move around it... This sounds like complete and utter nonsense, because anything involving dragons must be nonsense... Nevertheless... it may be there is something interesting going on... You figure out how the dragon's going to be happy here and lo and behold! you've suddenly got a place that makes sense for other organic creatures, such as ourselves, to live in."
"It is an odd fact that is not reflected in salaries that a good programmer is more productive than 10 bad programmers. This creates a strange situation. It will often be true that you could move faster if your weak programmers would just get out of the way. If you did this you would in fact make more progress in the short term. However, your tribe would lose some important benefits, namely the training of the weaker members, the spreading of tribal knowledge, and the ability to recover from the loss of the strong members. The strong must be gentle in this regard and consider the issue from all angles."
Robert Read, 37, of Austin, Texas, is a principal engineer at Hire.com. Before that he founded 4R Technology, which made a scanner-based image analysis quality control tool for the paper industry.