How do I learn to be creative?
I've been a programmer my whole life, and now I've found that I really need to start designing my own stuff. I know how to use Photoshop in and out, but I just can't create anything nice. I often visit Dribbble and try to get some inspiration, but I get overwhelmed by their creativity. How do they come up with this stuff?
Besides learning the fundamentals to design such as color theory etc, what are the best ways to coming up with some original and nice looking designs? Should I draw on pencil and paper my designs before designing in Photoshop? I'm referring to interface designs mostly. Lately I've just been finding random Dribbble interface designs, and trying to replicate them from scratch. I'm often successful, but I know I couldn't have come up with that on my own.
Another question is how do the creatives do it?
Do they imagine a design in their mind first, then draw it out on paper, then Photoshop?
Or do they just go on Photoshop and just play around until something nice comes out? Or what?
If you're a programmer, you're already creative. Programming is one of the most creative of professions (else why would the word "elegant" be such a high term of praise?). So much for that.
So let's narrow this down. You want a route to channel your already-existing creativity into the VISUAL arts, rather than the unseen-by-all art of good coding.
Like programming, visual design has its own fundamentals and technology. That's good, because that means there are learnable rules and teachable skills that, while they may not turn you into a world-famous UI designer overnight, will at least get you up to "competent." How far you go after that is up to you.
A general rule for learning any skill: you have to be able to duplicate (recreate exactly what others have done) before you can originate (create your own from-scratch design). This applies to art, music, programming, anything.
For great introductions (and continual reference) to good visual design, subscribe to Before and After Magazine and/or buy and read John McWade's excellent books "Page Design" and "How to Design Cool Stuff." Buy, read and reread "The Non-Designer's Design Book" by Robin Williams.
For UI, take a look at Joel Spolsky's wonderful article, "Designing for People Who Have Better Things To Do". This is probably the best and most succinct exposition on the Big Thing All UI Designers Must Know.
As you are already doing, and once you have done some of the study above, search out great UI designs and figure out how they did it. Recreate them exactly. In the process three things will happen:
You will associate the design fundamentals you've been studying with real-world examples. When principle and application come together, the principle buries itself so deeply in your mind that you no longer have to remember it; it becomes something you think with automatically.
You will be building a vocabulary of techniques, just like the programming vocabulary of algorithms and programming shortcuts you work with every day in coding.
You'll start to gain confidence in your own ideas. I guarantee you'll have at least one "aha!" moment, when you look at some successful UI design and realize, "Hey! I could do better than that!" Your own designs will come alive, and you'll be on your way.
Let us know how you get on.
[Edit 12.29.2014] I've expanded this answer into a full article on creativepro.com, if anyone is interested in a more in-depth treatment.