I noticed on delphifeeds this sunday morning the blog about "Do all great programmers start young".
Some month ago I found another blog: Can A Programmer Be Ten Times More Productive?
(it's from NetApp, a storage company with high-perfomance software inside to make all the possibility of iSCSI, SAN, NAS and so on availble).
I think with learning you'll get more and more skill, but to have more than other you need to look around your dev-world and combine all the complexe informations. Only with developing (in ObjectPascal) you're sometimes an expert in Pascal, but this isn't enough in our time. You need more than this. A good developer must understand the complete architecture and how software-products need to be developed for current and future needs; and this is very important for the complete architecture. And with the experience of many years you learn from the feedback of your customer the "usability" of your applications and beside this is the high performance software design only possible when you know more then (pascal)-programming. A reference to many other areas expand the skill day by day.
A good programmer brings a rare combination of breadth, depth and vision to his daily work and an architect or programmer must make many decision every day (also the explanations behind the decisions should be good / excellent) quickly and effectively and directs the product very well.
I always wonder about many programmers how they manages the spare time to be proficient in the current and future technologies which are happening in the industry all the time...