People who know me, know I do not profess to be a ‘web designer,’ nor even a ‘designer’ at all. I’m a web developer. (And please, I beg you, do not call me a webmaster as that is such a hokey and ego-centric title.)
For most of us in this profession, the skill sets are divided up along the lines of either being a designer or a developer. There are some areas of cross over, obviously, but by and large a designer is not a good developer, and a developer is not a good designer; rarely do you find both in one package.
As a developer, I need to at a minimum though understand design principles and be able to recognize good design from bad. I expect that the designers I work with understand development limitations and capabilities, too. This book, The Non-Designer’s Design Book by Robin Williams, is my lifeline when it comes to understanding design principles. She writes clearly and effectively and provides excellent examples for learning. If I were to be teaching a web design and development course again, it would be a required text for the class.