What are the list of qualities that differentiate experienced programmers from average ones?
I am compiling a list of traits or qualities that are usually found in expert developers. Everybody was a beginner - but we all learned, gained experience and developed some good qualities from these experiences. So, what according to you, are the common qualities found in top programmers?