Four types of programmer realm

Source: Internet
Author: User

Four types of programmer realm

On the road to becoming a programmer, we have to go through four bumps and let us mark them with four realms.

The first realm, which is what is said before, is mastering one or several programming languages, imitating examples to implement code, and allowing the code to run in a computer system. Reaching this level is not really a programmer, but a craftsman who has mastered one or several tools, and the skilled can quickly imitate the ready-made examples to achieve their own or user-required software modules. Unfortunately, many "programmers" only reach the first level, they are based on the documents and reference materials, through the "imitation" to complete the work, they implement the program is the countless predecessors have already implemented the code of the combination, although the skilled in the fast and efficient completion of the task is known, Yet their work is nothing new, repeating the code day in and day out, with nothing to call "innovation".

The first realm is the mastery of language tools, in this realm of the master, will emphasize their own language how skilled, so this realm can be used "knowledge" to express.

In the second realm, we must learn to decompose the problem and reasoning skills, learn to use logical language to accurately express a proposition. In this realm, software workers have a way of analyzing specific things, they do not blindly imitate, but begin to think of a specific problem and try to use their own methods to better solve.

At this level the "programmer" begins to focus on the problem-solving approach and focuses on the mathematical techniques of analysis and reasoning, and the best of them are familiar with various algorithms that use various propositional reasoning to analyze and solve problems. They are also good at learning from previous examples, but often can be based on the characteristics of the problem of effective improvement, and can be in the process of trying to improve the creative sense of accomplishment and new experience. At this level, the understanding of language tools is deeper than the first, and they are the ones who really know how to use the language tools in hand to better solve problems. But they do not emphasize how they are familiar with the language, and are no longer keen on how to master the language of how many, in their eyes, language is only a tool, the real important is to analyze the problem of the method.

The characteristics of the second realm is the analysis of the specific problems, in this realm of the master, often good at analyzing from the specific problems of reasonable and effective solutions. So this realm is represented by "phenomena".

In the second realm there are people who are really experienced in how to use programs to solve problems, and these people are able to excel in coding, so we call them coder, or junior programmers.

In the third realm, we must learn abstract thinking and find out the law behind the appearance of things. In this realm, software workers no longer analyze a specific thing, but try to understand the nature of things. At this level, people begin to focus on the commonality of things, and gradually master the methods of induction and summary. "Patterns" began to appear in their minds.

The "design pattern" is the "36-meter" of the software field, and it is the real thought essence which is summed up by abstract summary. The third realm of software workers began to contact and understand the "mode", learning to use patterns and abstract thinking to solve the "one class" problem. Compared with appearances, they are more concerned about the nature of things, their code is full of ideas and a deep understanding of the law of things, they are familiar with the characteristics of various types of problems and solutions. Understanding of the nature of things so that they no longer rely on language tools, any familiar or unfamiliar programming language in their hands can play to the extreme, the perfect solution to the problem.

The third state of nature is the understanding of the essence of things, in this realm of the master, often can quickly abstract the nature of the problem, so that the most appropriate way to solve problems. This realm I use "reasonable" to express.

Programmers who reach the third level are natural designers whose ability to understand the nature of the problem helps them to solve problems with elegant, concise code that is filled with design ideas. They are a group of people who can truly enjoy the artistic charm of programming and are full of achievements.

The third realm of programmers really can afford the title of Programmer , they look outside the eyes of the natural designers, artists and technical cattle, they are created for software creation.

Before speaking of three realms, layers in depth, and the third realm of programmers have well deserved to become the expert leader in software field, however, "programmer" is only the above three realm? The answer is in the negative. Above these three realms, there are still--

A fourth Realm

The third realm programmer of the very good, not satisfied with the status of experts and high salaries, they began to the fourth realm difficult to move forward. The realm of the four is the highest state in the field of program design, to achieve this realm, only need to master one thing, but this thing is not ordinary things, but many people spend their lives can not get, the world's deepest secret.

Since ancient times, there are such a group of monks, they obey the commandments, do not eat meat, do not drink, chanting sutras all day, and unlike other monks, they often sit still for decades, and even some flogging torture their bodies, painful but unchanged.

There are such a group of martial arts practitioners, after years of training, Wushu has been very high-strength, but they are more efforts to practice, persist.

There are such a group of scholars, they have been educated player, even successful, but still day and night, regardless of the cold.

They are not insane, idiots who give themselves trouble for nothing, so painstakingly ascetic, just to find one thing.

Legend of the world there is a magical thing, it invisible, but everywhere, light if nothing, but also heavy as Taishan, if you can learn such things, you can understand all the mysteries of the world, see through all the camouflage, know all the knowledge, all things can be attributed to master!

This is not a legend, but an objective reality.

This kind of thing is called "Tao".

The silent nothingness has the mystery, does not move, is the procedure source, does not have the name, therefore Yue: the way of the program design. If the road is large, the operating system is large, if the operating system is large, the compiler is the same, if the compiler is large, the application is also the same. is to use the great Yue, the harmony of the world to save Yan.

--Jeffrey. James

The so-called Tao, is the sum of all the laws of the world, is the most fundamental law, as long as you can understand the Tao, you can know everything in the world.

Master the "Tao" programmer, is the real master of program design, can create immortal works.

However, how can "enlightenment", I do not know, can not be described, because "Tao" is really not an easy to get and understand things.

For programmers of the fourth realm, "thought" is no longer a very important thing, because their understanding of the nature of the program has transcended the problem itself, in their code, some only natural, realistic and illusory boundaries have been blurred, a perfect self-governing system in an instant, but as if from the ancient time has existed, Movement, from the simple and rustic rules to cover the nature of the world's things. Therefore, this realm, I call "into the Tao."

(turn) programmer four kinds of realm

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.