- willing and able to rapidly learn new tools (especially languages, debuggers, build/test infrastructures, and profilers)
- understand software at many levels (so-called "full stack" programmers)
- more interested in producing a working system than in technical details
- self-confident enough to seek experts and extract information from them on areas of ignorance
- have a strong aesthetic sense of code
Definitely "being really smart" or "having a Ph.D" hasn't been a correlate in my experience; if anything, I've seen these to be negatively correlated with code production and quality.
And distribution of coding ability definitely seems to follow a normal curve; a handful of coders I know are 6 sigma out. There are many more two-sigma outliers, and tons in the middle, as you'd expect.