- They are naive and believe they can conquer the world - or are discouraged about their original inability and hide it.
- They share a sense of destiny in what they do. They can't imagine a world where they wouldn't be working any more in their medium.
So if you wanted to predict who will become a great programmer you could look for naivety and commitment. You could look for people who can't tell what they've accomplished. And which continue to obliviously work on (naively ambitious) things only because noone was around to stop them.