Everyone knows, that product design is crucial and vital these days. Not only should it look nice, but also make users want to use your product.
I've always wanted to be a designer, those guys just seemed to look way more cool than us, programmers. They are real artists, while we're just typing code in the darkness. They create something worth talking and spreading, something, that people actually love to see and to use, while we write code, that only amazes our fellow programmers.
The process of becoming a designer had always been a mystery to me, but later it became very clear that being a designer is actually nothing, but a skill. It means design could be learned. It doesn't take incredible talent or some kind of a gift to make something look good. I'm not saying, you can design a masterpiece right away after reading some "Web Design for Dummies" book, but it doesn't take much to design something, that doesn't make people wanna throw up.
After years of being a developer I've came up with three basic principles of making things non-ugly, that require nothing, but sense of taste, which we all have in one way or another.
Steal
But steal in a good way. Do not compromise someone's design entirely, people are going straight to hell for that.
While surfing the web, we see stuff, that we like, everyday, get inspired by those. Take colors from one website, background texture from another and typography from the third one and combine it.
You probably think, that it's the easiest way to create an ugly monster. Well, it might end up as a monster, but, from my experience, when you combine three awesome peaces together, the result is at least a good looking one.
Even an easier way to design something is to take some template or a framework. For example, Twitter's Bootstrap is awesome.
Straight to the markup
Don't even think of launching Photoshop, you'll just waste your time. You're a developer – go straight to the markup. With the help of CSS3 you can achieve almost anything you could do in Photoshop way faster and with less effort: custom fonts, rounded corners, shadows, glows, you name it. Also, when you're done with design, you have your markup ready, so there is no need to slice PSDs.
Remember, we are not creating a masterpiece here, so presentation tools, provided by CSS3, are just enough. Following this rule will help you with the third, the most important one.
Keep it simple
If you're like me, you have a great ambition. You make something good looking and immediately think, that you are a God of Design. This is the biggest mistake, that I've made. Don't overcomplicate.
Use traditional layouts, put navigation in predictable places, keep visual hierarchy in place. If you don't, you'll end up with crap. I saw that thousands of times, and at least one thousand of them were done by yours truly.
That's it, dear programmers. If you follow those three simple rules, you'll make a pretty good looking web-site. Also, it's always a good idea, to learn the basics. You can start with these two all-time classic books: "Don't make me think" and "The Non-Designer's Design Book", they'll get you covered.
And finally, my last advise: if you can afford it, don't even think and get a real designer.