<i>If the program is automating a manual process then you should try--or petition for the right to try performing that process yourself so that you can become what the program is supposed to become. At the very least you should spend time watching people do things the old way, talk to them, ask questions, let them show you pictures of their kids, buy them drinks, get them drunk and provoke them into talking shop.</i><p>This is great advice! Programming is the "how" to accomplish a "what". Many of us don't spend enough time on the "what" to do the best job we can on the "how".<p>OP provides more recipes than theories. Great post!