1) Use customer testing/validation (e.g., A/B, #leanstartup, et.al.) to drive design & feature decisions. Your job as the developer is to only iterate quickly and have a fast feedback loop incorporating their input. Prominent example: Google/Marissa.
2) Users don't know what they want (especially when it comes to "new" product categories that don't fit nicely into a pre-existing frame of reference) and so you must develop your own Design sense and intuition. Prominent example: Facebook/Zuck & of course, Apple/Jobs.