"The kind of programmer I dislike and the kind of programmer I do not want to be myself"...
What's more important for me is what I like and what kind of programmer I want to be. It is perfectly valid definition
($programmer|$project_manager) = 'idiot' unless he has basic programming||development||management skills. I worked in more than 5 firms through the past 3 years and most of the programmers didn't have idea of common language techniques not to mention the lack of thorough programming knowledge. How do you call such people?