It's a huge problem when the CIO isn't an engineer. That's simply a disaster in glorious slow-motion Technicolor. Look at the time-lapse downfall of HP from a respected engineering company to one that's known today only for selling printers that are cheaper than their overpriced ink. (Thanks, Carly, I'm sure this country could use a genius of your caliber at the helm.)
But the more common source of discontent happens when developers are tossed a pile of requirements and told "shut up and make this X." Every developer I've known will have serious questions about those requirements, because they're always filled with errors and inconsistencies. In most cases the flaws are not evident until after development has progressed beyond the Rubicon. Being able to discuss the requirements with the stakeholder, to make suggestions on how to improve the product, to develop the best possible X to further the business, that's what developers crave. Give them that, and a steady paycheck, and you have happy people with satisfying jobs.
And if you tell them "hand this coding over to Haich WunBee over at Outsorcery, Inc.", don't be surprised if satisfaction drops.