Of the very few Rockstar level technical people I have encountered in the past, there was this one quality all of them possesed-->Everyone approached them for technical advice.
They always answered to technical questions with supreme confidence and they had a consistent track record of being 100% correct. On top of their technical expertise they also had amazing people skills.
In my experience (of watching others) these are the qualities necessary for a software developer to reach the very top of the technical part of the corporate ladder
- A thorough understanding of the fundamentals (a computer science degree really helps)
- Constant reading up on the latest and best selling technology books.(Go to amazon.com and sort by popularity)
- Constantly brushing up on stuff that you have studied in the past (see Spacing effect)
- A thorugh understanding of the dominant design patterns.
- Being involved in the developer community (contribute on stackoverflow, go to developer meetups etc)
- A very high EQ (yes EQ and not IQ. IQ will only take you upto a Jr developer stage)
- Ability to grasp the business needs very quickly.
- Impecable domain knowledge (Understanding the business)