I don't know, but my first thought was, best at what?<p>- dealing with gnarly legacy code that is running in high-importance production environment (must be cautious and conservative) vs. green-field development (pays to try new technologies out)<p>- solo vs. in-a-team development (different emphasis on speed vs. clarity)<p>The perfect developer would, of course, be the best at all of these, but in practice the personality to be good at one is usually the opposite of the personality to be good at another.