Good designers also can explain the reasoning behind design arguments. And design principles are not qi; they are usually backed up with science, user testing and painstakingly many statistical treatments. Many times design school is science-y then coding courses.
Designers and developers should learn as a principle to understand and respect each other. This includes both knowing when and how to explain each one's arguments and when to stop short of the "go learn to code" or "go learn to design" shoutmatch.