During an interview, you may be asked often, "What do you want to do in the next five years?" This may be a difficult question to answer. In China , the answer may be Team leader, Manager, or Architect, Specialist, etc. In China, you may think that manager will be the next target of the programmer , but managers and programmers abroad may be two A different branch, Architect or Specialist, is a better manager than manager, and chances are better, because these people need more IQ.
An article appeared on the famous "Coding Horror," and I turn it here (I did not translate it exactly the same way, I just reworded it in my own words) and let everyone see the thinking of foreigners Way (of course, this article only analyzes the level of the programmer rather than the type). As the author concludes by saying, these eight levels are not very strict. They are nothing more than an idea and they hope to give everyone another idea.
Eighth grade immortal programmer
This level is the highest level of programmers. Your code lives longer than your life, and when you die you will become part of the whole history. Other programmers are paying homage to you, and perhaps you'll receive the Turing Award, the highest computer prize, or a series of extremely influential essays, or else you'll invent techniques that affect the foundations of the entire programming world. You have more than just an entry on Wikipedia, but also a dedicated website to study your life and your work.
For example: Dijkstra, Knuth (author of programming arts), Kay
The seventh level of successful programmers
This type of programmer, on the one hand, is famous, on the other hand, is also commercially successful, and they affect the entire industry. They seem to determine the direction of development in the industry, these people, their own programming ability is a plus, but their ability to estimate Business should be greater than their ability to program. (I personally think that Linus should belong to this category)
For example: Gates, Carmack (Doom and Quake 3D games), DHH (creator of Ruby on Rail)
Sixth well-known programmer
Programmers of this type are more famous in the programming world, but their fame does not necessarily give them a certain benefit. Fame is a good thing, but success may be better, and such people are generally working for a big, well-known company, or a very influential small company, or are creating their own business. No matter what, other programmers have heard of your name and follow you as an example.
Fifth-level backbone programmer
These programmers are generally the backbone of the company, they are the most important programming roles in the company, and within the company they are respected by the boss and other programmers who will not be unemployed because they are ready Find work easily. The companies they have worked for have evolved because of them.
The fourth level of the general programmer
The advantage of such a programmer is that they are well aware that they may not be a great programmer this generation. Genius is only a small percentage of people. If such programmers have some business and people management skills, they will also be quite successful in the company. "Self-understanding" is not easy. It is not something most people can do. People who know oneself are already very good. Finding one's strengths and working in that direction will surely be very successful. Because in the company, not only programmers a position, manager, PM, process, SQA, technical support, pre-sales, administrators, testers, etc. may make such programmers have a broader sky.
The third level amateur programmers
Regardless of whether they are computer science students or not, they have a special hobby in programming, they may be promising students or interns, and maybe they may make some contribution to open source (for example, providing some language Packages or plug-ins), sometimes they also write two gadgets on the Internet for download, as well as for games and games to develop small programs that send out their free time. They are completely programmed by passion and commitment. Interest is always the best teacher, and it is also the best thing, because the enthusiasm created by interest usually makes these programmers become "key programmers."
Second level unknown programmer
This level of programmers is typical of the programmer known to the public, they have some programming skills, but not outstanding, maybe they will work in a large company, only the programmer is just their work only, Not all of their lives. Of course, such a programmer is also good. After all, ordinary people are still the majority, and there is nothing wrong with living an ordinary life.
The first bad programmer
Such programmers do not know why they embarked on the road to programming, they do not even have the most basic programming experience and abilities. All things touched by them require their colleagues to re-work again, they are not programmers at all. The programmer's job may be a mistake for them.
As the original author put it, "These levels are not very serious and not every program will think about its own future, but these levels may make you think about being a programmer for 10 years / 20 years / Thirty years later, what can I become? "