I would like to add something that everyone seems to have forgotten. A great programmer has a significant life outside the field.
Additionally, and I don't know if it's just a coincidence, but the best programmers I know are fluent at least in one musical instrument.