This essay seems to beg the question. A "good" developer, by its definition, is the who picks the most reasonable, easy to maintain technology, because she knows anything "much more complex would be beyond her current skill." Yet, if she is lacking in skill, how can we be sure her judgment is sound on what a "reasonable" and "easy" technology is? Doesn't the basis for that judgment require superstar-like experience a…
I would say that once you reach a certain level you are able to determine which technology is reasonable based on things like language familiarity, community support, and documentation.
A superstar dev might go out and try a lot of the new, cool stuff, even when it is needed. But it seems that that developer would also have a grasp of the common characteristics of bad technology.
So I think there are at a minimum two good traits of a great developer. The rockstar-like quality of having the skill, curiosity, and breadth of knowledge to handle being on the edge. And the maturity and thoughtfulness to know whey he/she has failed in the past.