What would you be if you divided the programmer into 8 types of this article?
When looking for a job, I'm sure a lot of people have been asked this question, "What are your career plans for the next 5 years?" "Whenever I was asked this question, my mind always emerges from the scene of the Twistedsister band's 1984 video: A teacher shouted to his students," I want you to tell me, no, tell the class, what kind of life do you want? " ”
Note: Twistedsister is an American rock band from New York, founded in the early 1970 's. Later, after nearly 10 years of struggle, they made a big breakthrough in the early 80. However, because of their rebellious image and bizarre behaviour, they were seen by the United States Government as a typical example of heavy metal poisoning in their most scenic days, and were forced to dissolve in 1988.
You will naturally think: I want to become very cow! Or at least become a very good programmer. Although the question does not seem as serious as some of the same old problems (say, "What do you think your biggest weakness is?"). "), but it is likely that you still find it difficult to answer. Maybe sometimes you are too much of a cow to answer such a question. But be careful, you may annoy others.
In my opinion, the question is also a rather serious one, and it is worth thinking about. Not to deal with the interviewer, but for yourself.
For this problem, most people will choose a perfunctory answer to the interviewer. But it does raise a deeper question: what kind of career is a software developer? Of course, we chose this line because we liked it and we were fortunate to be blessed by God, and we did it. But can you still sit in front of the computer and knock code at the age of 50? 60 years old? So we have to think about this when we are young: what is the perfect career as a programmer?
So let me tell you, basically, there are 8 kinds of programmers in this world:
1. The Immortal Programmer
This is the highest state! Although the person has gone, but his code is still alive. He became a permanent collector in the computer Museum. A large number of other programmers are studying his work. He may have been awarded the Turing Prize in his lifetime, or published a number of influential papers, or invented some basic technology that influenced the curriculum of computer science. He has more than just one Wikipedia entry, and in fact, there are a lot of dedicated websites to tell about his work and his life.
There are only a handful of programmers who can reach this level in their lifetimes.
Representative characters: Dijkstra, Knuth, Kay.
Note: Dijkstra is a Dutch computer scientist who won the Turing Prize in 1972 for inventing the computer programming language. Knuth, author of the book "Computer Programming Art", is called the father of algorithmic analysis. Kay, an American computer scientist and a pioneer in object-oriented programming and Windows graphical user interface design, has a famous saying: "The best way to predict the future is to create the future." ”
2. A successful programmer
Successful programmers not only have a wide range of visibility, but also run a good company, and even control the entire industry chain. They have the absolute freedom to do what they want to do. They also have the dream of bringing "freedom" to fellow programmers.
Programmers of this realm are the most admired. In order to reach this level, more is the need for business skills, not your programming ability.
Representative Person: Bill Gates, Carmack, DHH.
Note: Bill Gates is the founder of Microsoft Corporation, he is a computer prodigy, 13-Year-old began to program, 20-Year-old began to lead Microsoft, he is also a business wizards, he used his vision and savvy business acumen to make Microsoft famous for the world, the software into people's lives indispensable things, the success of today's Microsoft Empire. Carmack is the founder of id Software company, which is mainly engaged in the development of computer games and game engines, including "Half Life", "counter-Strike", "Destroyer" and so on. DHH is a Danish programmer who has built the "Ruby on Rails" Web application Architecture and has written a "Web development Agile Way: applying Rails to Agile web development".
3. Well-known programmers
It's also good to be a programmer in this state, assuming you have a good job.
Programmers of this realm are famous in circles, but being famous doesn't mean you can earn your income and support yourself. Fame is good, but success is more crucial. You may be working in a very well-known large technology company, perhaps in a very influential small company, or in a promising entrepreneurial team. In any case, other programmers have heard of you more or less, and you have a positive impact on your field.
4. A competent programmer
You are very successful as a software engineer because your ability allows you to work well. You never worry about finding a satisfying job. Your colleagues also respect you very much. Every company you work for has been promoted in some ways because of your affiliation.
But the question is: Where are you going in the next direction?
5. Ordinary Programmers
This realm of programmers can basically cope with the general programming work. They also know very well that it is difficult for them to become outstanding programmers because of their talent.
In fact, the relationship between talent and success is not big. If you have a keen sense of business acumen and good interpersonal skills, you can still be successful. If you are an ordinary programmer, but you can also rely on this line to live a good life, it has been a very talented, but you do not have to do the programmer this line.
The name of your own self-knowledge. Usually your abilities are lower than you think. Lack of talent is no big deal. Be brave, explore your strengths, and fully play.
6. Amateur Programmer
Amateur programmers are usually passionate about coding. They may be promising students or interns, or they may be participating in some open source projects or using their personal leisure time to develop "fun" apps or Web sites. From their code and creativity, they can be seen as a group of people with a lot of ideas and passions.
Being an amateur programmer is a good thing. The programmer of this realm can do the job of programmer quickly and competently by self promotion.
7. Low-profile programmers
There are also some popular, more personalized programmers, such as Joecoder, very capable but nothing to make the world's attention to the achievements. They may serve in a large company. For these people, writing code is just a job, not all of their lives. There's nothing wrong with it, it's good!
8. Bad Programmers
This level of programmer skill is extremely scarce (no bounds), and they are usually able to do so for some strange reasons. Anything they do can cause pain and suffering to their co-workers-and, of course, one exception is that their co-workers are a bunch of lousy programmers who don't even know what a bunch of bad programmers are around.
If you want to give a rotten programmer the next definition, it is: no diamond, but it is the porcelain live.
It should be admitted that all of these realms are not defined strictly. In fact, not all programmers crave the same things in their careers. It is very meaningful to think about the achievements that a programmer can achieve in his 10, 20, or even 30 and a half years of life. Think about it, which programmer do you admire most? What was his achievement that made you admire him so much?
Anyway, what kind of life do you want to live?