I believe that development is still a profession in its infancy. Or maybe it is an infantile profession. The books written on it may as well be saying that we should be leeching people to cure AIDS. Nothing considered of much substance deals with people's personalities, tendencies, etc. Everything is about some process applied to everything like a hammer. And it doesn't work or it isn't new-and-shiny so someone else will invent some other language or tool or process and that will be the hot thing. Are we trying on clothes for a fashion show or are we trying to solve problems? Why in the hell do we need a new version of Mac OS, Windows, Linux, ...? Wouldn't the old version have gotten it done 1000000 times faster? Solving problems does not and should not involve new and shiny. We should all focus on: (1) our differences: we are not the same and we change- we should do work in a way that best utilizes our potential productivity- psychology/neurology should play into planning teams and projects, (2) better data collection and reporting: we should all be analyzing metrics about development and the services and products we provide, with A/B testing, feedback loop, etc. (3) Solving problems together: we need to limit forking to small R&D groups that do A/B testing and present their findings back to the core group, imo. (Why is Linux still not the most popular OS for the Desktop? imo, the reasons are variation and lack of cohesion in the community- not because it is mostly a free and volunteer effort. Linux sucks on the Desktop because we aren't working together on it- we don't <i>have</i> to use it, so why should we? Limit options and focus!) ... So basically, you are saying that we are skirting around the fact that you have to have a certain type of mind to do well in development, and I agree, but I think that is a problem, not a solution.