I've been programming for over 25 years not counting the year I did COBOL after college before a 12-year stint in a non-IT capacity. I've worked with, worked for & supervised a number of developers over the years.
There are some people who just shouldn't be professional programmers. I know I shouldn't be a professional athlete, singer, or dancer.
I've had the pleasure of working with some truly outstanding developers - no one famous, yet top notch.
What has troubled me is those people who are excellent developers and actually have OK people skills who could care less about the business purpose of the application. Programming end-user applications is much more than just satisfying a list requirements - it's using your knowledge, skill, experience & "soul" to provide the best solution for the client.