Good Developers Understand Business Needs

In agile development, it is the developer’s job to speak the language of the user, not the user’s job to speak the language of the developers.

-Dean Leffingwell, Agile Software Requirements

Dean Leffingwell is discussing the need for developers to understand users when gathering user stories and features, of course, but this statement holds true to so much more. Over and over again I have observed that the best software developers I come across are those who insist on understanding user needs (and asking the user questions to understand his or her own needs) before jumping in to design.