I posit that there are two kinds of people: Those who are good at what they do, and those who are not. Granted, it's far easier to find people who are good at some tasks than others, but the list of "difficult to find" skillsets isn't as focused in the tech industry as you might believe.
Case in point. My father has run his own lawn & landscape company for the last 15 years or so. In that time, he's discovered that it's actually really difficult to find people who are good at that job. That job being running a lawn mower, weed-whacker, and hedge trimmer. I'm a determined individual. I consider myself up to any challenge, but on my best day, one of his crewmen is worth two and a half of me in the field.
After the Florida hurricanes in 2005, I worked with my father's business for about a week in an effort to help them catch up. Two Guatemalan men on the crew called me "el burro", because while I wasn't much good at anything else, I'd pick up and drag tarp after tarp full of debris back to the trailer without question. They were half making-fun, and half serious. I ended up gaining their respect, but I'd have received my pink slip after three days if I were a hired hand.
I've taken the long way around to get to my point. From the businessman's perspective, most programmers we deal with suck pretty hard too. Care to know how many developers I've wasted time on, only to find out that they didn't know what they were doing, or were incapable of meeting me half-way in understanding a project?
Some will be quick to point the finger at me for having a loose spec, or allowing scope creep, or failing to understand the technical challenges. I'll be quick to point to the fact that I have a great network of talented, motivated programmers who jump at the chance to work with me.
I'm not asking you to talk to bullshit entrepreneurs who can't walk the walk, but I am asking you to set aside that chip on your shoulder until you take the time to know the difference.