The Mythical 5% comes from Bruce Eckel, the author of Thinking in C++/Java. It says that 5% of programmers are 20x more productive than the other 95%.
Most of the programmers seldom write technical blogs, attend technical conferences and salons. They do not do continuous learning and seldom read some books. So, most of these kind of guys don’t go to big companies or attend great projects.
We also have some other programmers who are very active, attend technical meetings, always willingly communicate with others, keep reading books, and make notes for thoughts while learning. They keep improving themselves, and they will become a leader of a team very quickly.
But by doing this, you still might not have a 20x the productivity of other engineers. So, what do these 5% guys who have 20x productivity do?
Ways of archiving this
Of course, technical blogs are important. You can use them to record what you have learned, and your thoughts about some points. Also, reading technical blogs, is a very good way to learn the newest technology, and to get the latest news of a product or software or some library. This is very important, some great ideas and smart ways of solving a problem are not found in a book.
The ability to code is a very important basic skill. Not only in the area you are familiar with, but also in areas you have never done before. I heard from a friend of mine, who was formerly a programmer of Winform, about his experience when he was transferred to a web project - his first web project. He found that he was so uncomfortable with the JavaScript debugging in VS2008 that he spent some time to write a JavaScript IDE himself.
So, how many experienced programmers can quickly write an iPhone program without ever using the Object-C? And can you write a VB complier program using C#? When we deal with these kinds of problems, it’s not just coding ability that makes this possible. You also must know how to quickly find a solution for your idea, evaluate the areas you are not familiar with, and learn how to overcome them.
To be a top 5%, you also need keep reading papers. Just reading RSS feeds and attending other Ethos guys’ brownbag lunch training sessions isn’t enough. Reading papers can help you learn a lot of un-replaceable technologies, and know deeply how the platform which your program running on works. For a .Net developer, besides knowing how to use BCL, you should also know about the CLR and the virtual processes your programs are running on.
What to do after this?
Also, there is another big issue, what do you do after this?
After you have 20x productivity over others, you should play as a leverage role of on your team. That doesn’t means you input commands on keyboard 20 times faster than others. Understanding the leverage point means you should be able to analyze the situation and what you have, and give a proper solution. This doesn’t always come from pure experience in your former work or from what others have told you.
For getting the maximum leverage out of you work, make sure you are using the best tools, technologies, best methodology. And remember, always do your best.