Eight Realms of programmers

Source: Internet
Author: User
Tags ruby on rails

This paper is the first draft of translation. More wonderful content, please pay attention to "high efficiency Programmer's cultivation", people's post and telecommunications press.

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 in a 1984 video from the Twisted Sister band: A teacher shouted at his students," I want you to tell me, no, to tell the class, what kind of life you want. " ”


Translator Note: Twisted sister is a 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 problem 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 a software developer should have. 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 your computer and knock code at the age of 50? 60 years old. So we have to think about the problem when we are young: as a programmer, what is the perfect career?

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.

Translator: 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.

Translator Note: Bill Gates is the founder of Microsoft, 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 what a programmer can accomplish in his 10, 20, or even 30 years, or perhaps a lifetime. Think about which programmer you admire the most. What is his achievement, so that you have such a worship of him.

Anyway, what kind of life do you want to have?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.