Let's say you want to be in the top 5% of paid programmers world-wide by skill. How would one "measure" such a thing?
For me, when I see a fellow 5%'er, they typically have the following traits.
Honest about things they don't know. Fearless when working with something brand new. Rarely complain. Aren't afraid to ask stupid questions. Are smart about when to ask for help.
You won't. This is not a measurable statistic. Nobody can generically be a "top 5% programmer."
There are top 5% people in video programming, audio programming, cryptography, web development, embedded systems, etc...
And even then, unless you have a way to see the salary and work history of every single one, you cannot make a fair comparison.
Assuming you could see that info, you could get a rough estimate but even still, maybe one place considers someone to be great when another place would consider that same person to be mediocre and not even pay them as well.
Work is highly subjective and each company has his/her needs. Just because 1 person may be a super skilled web developer, doesn't make them a top 5% programmer at an organization necessarily... Maybe the technical challenges at that org are not that profound and the organization lacks communication between teams.. At this org, it would be more beneficial to hire a less-skilled technical developer and a person with better communication skills.
I believe I'm the Top #1 for what exactly I do with all it's combinations. The chance that someone needs exactly that is about 0%, the change that someone needs parts of it and parts of what I don't know is almost 100%.
Does this make me top 5%? I'm not sure.
If you have a broad understanding of programming aspects, I think it's good. Then to be in the top you also need to have a good understanding of aesthetics and user experience, but also businesses in general. It's often not in the programming that the programmers fail, it's in all the other things around it. "It works, so don't complain, you aren't just used to it"-attitude. Like in the british sitcom "The IT Crowd".
Important is also the skill to learn and it is a skill for sure.
Arbitrary ... there is no clear definition hence a lot is more about fame and traction than skill. A lot of programmers will per default just pick a famous name and the hidden people behind that name who could be equally good are ignored.
Since you are going for paid I would say write google, facebook, microsoft, sun, oracle for their skill criteria.
I think there is no real classification system in place. ^^ but that's just me.
What happens when you reach your 5% goal? Do you stop learning/growing/adapting?
I would suggest such a goal be tracked using the mistakes you make. I wouldn't measure it by knowledge of a language. If you want to be a really good programmer then I'd consider, most importantly, ones ability to solve problems quickly, efficiently and accurately. However, I wouldn't consider this to be the only component to the goal. This is a multi-faceted situation, as such should be treated with care if one truly wants to reach it.
I'll try and break it down into bulletpoints and explain in more detail if possible.
Basically being completely self sufficient but can also help others get to the same goal, thus making the whole team more efficient. These are the things I believe make a well rounded software engineer who can tackle any situation, on and off the computer.
Edit::
My answer is in relation to my interpretation of the goal. I changed the goal to How do I become a better developer?
I also agree with j these kind of goals tend to lead to a more ego fuelled way of thinking rather than more important things.
Gergely Polonkai
You have to believe in things that are not true. How else would they become?
How do you measure that? As others said, itʼs a somewhat impossible task.
You canʼt really measure skill, for one thing. The fact you write a piece of software in two days and i write the same in three wonʼt make you better; speed is one factor, but there is also quality, maintainability, and so on.
You also canʼt measure it purely by salary. A $21000 yearly salary might be low in one country, and a pretty good one elsewhere.
What you should aim for is not being in the top 5% but becoming better than yesterday yourself every single day.