An excellent website takes a savvy blend of both great design and great code. Because of this, you often find designers having to figure out code and developers trying their hand at design. Speaking as a person who spent his university years studying among other developers, I can safely say that programmers are not designers. Thankfully, we were graded back then for having reusable code and proper OO methodology -- never for our aesthetics. But nowadays, one of the greatest assets a developer can have is a keen understanding of design.
Now I understand that a programmer may never need to know anything about design (or for that matter, a designer doesn't ever need to program). But the truth is, every programmer has personal projects, frugal clients, or management roles that require design. Furthermore, I can say that often, a freelancer's greatest asset in pitching potential clients is their keen understanding of the entire website building process. So coming from someone who studied as a developer but now also does design (or at least attempts to), here are 8 common mistakes I've either heard as a developer.
"I Know What Looks Good (and I Have Photoshop)"
It's one thing to be a bad designer. It's a far worse matter to be a bad designer and think that you're good. Every good designer has a well-calibrated "design compass" that comes from constantly looking at good designs. You need to spend time looking at great designs from sites like Creattica or the Behance Network. You might also want to pick up the occasional design magazine. Just as good programmers enjoy looking at (and usually critiquing) other people's code, a good designer is always scanning other people's work, whether it be a website or billboard or menu. Without a good "design compass," no amount of Photoshop filters will save you.
"Just Use Blue and White"
Most programmers scoff at the idea that a designer might spend several hours choosing exact colors for a website. However, colors will always matter more than you think and you can't change them after a site is being built (at least, not without great effort). Like most things, looking at the color schemes of good designers will help, and the best place to look for color scheme ideas is COLOURlovers.
"I'll Just Center Everything"
For most, it seems almost natural to center align titles, taglines, and parts of copy. But usually, centered text on a website looks amateurish, while left-aligning is a much safer and usually better looking option. Furthermore, be mathematically exact about your website sections, taking advantage of rulers and gridlines in Photoshop. This doesn't mean your design should look grid-like, but eyes can and will notice when sections are supposed to line up, but do not (especially with text). Every pixel matters.
"Use the Free Font...It Looks Fine to Me"
There was a time long ago when (a) all serif fonts looked the same and (b) no font was worth paying for. I have learned much on typography since, and continue to learn more about the complex world of web typography. You can have a great website with only a little color if you have great type (and such is the basis for any great design anyways). Again, becoming better at typography requires reading and training your eye by looking at good sites. Please, never categorize all fonts under either "fun" or "boring."
"We Can Fit More Information in That Space"
Having worked on both programming and design teams, a common disagreement between the two is "utility of space." Programmers want to get as much information above the fold as possible. Designers argue that the eye can't take that much and would rather just have a logo and tagline above the fold. Try finding a happy median between the two, knowing that (a) busy websites can be ineffective, (b) "whitespace" is sometimes a fallback for lazy designers, and (c) the so-called "empty" portions of a site are sometimes necessary to set off the other elements.
"I'm Not Paying for a Picture"
Bad imagery/photography can ruin a reasonable site, while great imagery can make a simple design look really good. And with the resources on the web, there should be no excuse for using poor imagery. For non-commercial sites, check out stock.xchng or Flickr -- just make sure that the license behind the photo allows its use. For commercial work, there are multiple microstock websites out there like iStockPhoto or Veer.
"I Don't Need to Ask for Opinions"
More often than not, you will be your design's biggest fan (through your rose-colored glasses). So you need to ask designers you know for an honest critique. Unfortunately, most people I know who've asked me what I think of their design just wanted approval, not critique. Let your ego go and put on your learning cap. There's a reason that these people are designers (and get paid for it) while you are not. Then after you get their feedback, respect them, trust them, and implement some changes.
"No Need to Get Too Detailed"
Just like you can have mediocre code that needs improvement (but still "works"), you can have a design that is passable, but far from great. It's easy to look at great designs and think, "That doesn't look like much." But in reality, a great design takes a good deal of time (especially for new designers). But with these great designs, you only get to see the end product, and not the amount of editing and revisions that the designer went through. Furthermore, you'd be surprised how a detail as simple as a stroke line makes a world of difference. Don't ever consider a design "done" the first time you put the elements together.
All in all, great design (like great code) takes time, patience, and skill -- and thus, should be duly respected. As a programmer or content writer, you may never need to design a website, but it doesn't hurt to be better.