Let's face it: the choices that designers make on a daily basis often seem completely arbitrary to developers. Typefaces, colors, and layouts are apparently plucked out of thin air. Why those ones? Who knows! There's a general impression that you have to be "artsy" and "gifted" to be a designer. While I'm sure that helps, the fact of the matter is that designers aren't pulling this stuff out of the ether. In fact, most design choices can be boiled down to four basic design principles. Together they're known (affectionately) as C.R.A.P., and just being aware of their existence will help you make better design judgements no matter where you rate on the dev-to-designer continuum.