When I was a coop student at Oak Ridge National Laboratory in the physics department, I got to know a number of the researchers quiet well. I also had the privilege of having lunch with two Nobel laureates after hearing them lecture. The average intelligence level was well above "above average". Many of them had great difficulty even assimilating into the community because they had so little in common with average people. I also worked for about six months at the Marine Research Laboratory in St Petersburg. The head of the lab had a PhD and so did a few of the other researchers. But most of the people who worked there had bachelors or masters degrees. The atmosphere was completely different. Even the head of the lab had a strong sense of humor and playfulness about him. One Friday afternoon, we broke out the lab grade ethanol and had a Purple Jesus party. We then played tag in the specimen aisles with syringes filled with water. Regarding sofware development, I think the best programmers are both very creative and very analytical. Many of them have great interest in music and the arts. Insatiable curiousity also helps a lot. If you have no desire to come to grips with what Tracy Kidder described as the soul of the machine, you are likely going to be mediocre at best. It really can't be classified as being either science or engineering, even though it has strong elements of both.