You'd be surprised, then, to know that a
lot of programmers think graphic design is easy (see the other comment, in this thread), and can often be quite dismissive of the vocation.
As a programmer, working with a good graphic designer can be very frustrating, as they can demand that I make changes that seem ridiculous, to me, but, after the product ships, makes all the difference. I've never actually gotten used to it.
That's also why it's so difficult to get a "full monty" treatment, from a designer, donating their time.