I've dealt with a lot of programmers in the past 10 years. Only a handful would I work with again, and even fewer I would employ to work in a high-paced startup. In my last startup, an expensive over-designed technology stack was our downfall. The business guy turned the company around, secured us two licensing deals, and additional bridge funding.
The point is: there are just as many egocentric, know-nothing programmers as there are douche bag business guys. It really has nothing to do with each others job description, it's just a matter of talent, ambition, persistence, etc. etc.
Attracting the right talent for the team is difficult, select wisely and try not to demonize the opposite party.
I'd be surprised if the ratio of bad:good:great was very different in any field.
I have a feeling that since there really isnt any pressure to quantify their work (at the lower levels), most of them dont measure their own performance and stay at the same mediocre level.