How programmers practice it

Source: Internet
Author: User

1. six phases of Master Growth

ProgramHow can developers achieve the highest level of programming? The highest level is definitely not for you to Compile two linesCodeOr a few lines of code can be written in a few minutes, or the so-called visual tools are used to produce the least code. Even this kind of master is self-styled by the ignorant.

In my opinion, the growth of a programmer can be divided into the following six stages.

Ø Stage 1

At this stage, you can use a language skillfully. This is equivalent to the routines and architecture on the surface.

Ø Stage 2

At this stage, you can be proficient in platform-based interfaces (for exampleWin 32OfAPIFunction) and the library functions of the corresponding language. At this stage, it is equivalent to practicing actual Sanda, and can be applied in practice.

Ø Stage 3

At this stage, you can gain an in-depth understanding of the underlying layer of a platform system and have the initial internal strength, that is, "You have a sword in your hands and your mind.WUJian".

Ø Fourth Class

At this stage, you can directly perform in-depth development on the platform. Basically, reaching this level can be said to be a high-level step. At this time, we entered the Advanced internal strengthCultivation. For exampleVxDOr modify the operating system kernel.

At this time, there is no longer a language constraint. The language is just a tool. Even if you want to use a language that you don't know, you just need to get familiar with it.ToIt's not like learning the language at the first stage. In general, it is difficult to transition from the third stage to the fourth stage. Why?HardWhat about it? This is because many peopleThoughts cannot be changed.

Ø Fifth class

At this stage, it is no longer limited to simple technical issues, but to grasp and design a relatively large system architecture from the global perspective, from the kernel to the outer interface. It can be said that there is no sword in the hand, and there is a sword in the heart ". After this stage, you can analyze any software on the market and design it as required.MS wordSuch a large software can be designed as long as there is sufficient time.

Ø Sixth Class

This stage is also the highest level, reaching "no action to win ". At this time, any problem is simply a problem of thinking, not represented by any code. That is, "No sword in your hands, no sword in your heart ".

At this time, for practitioners, he no longer needs to learn Shaolin Boxing, but just looks at Shaolin Boxing'sBattle, You canBoxingUse it. This is a real master.At this time,Win 32OrLinuxThere is no difference in your eyes.

Every stage should follow certain methods for further development. First, the second stage can be completed through self-study, as long as you study hard and learn patiently.

To transition from the second stage to the third stage, we must have a good learning environment. For example, if you have a master or a good companyTrainerEnvironment. After two or three years of accumulationTo the third stage. However, someAfter reaching the third stage, it is often difficult to make breakthroughs in the realm. At this time, they will come up with an idea that software is nothing more than this and that they are omnipotent.. In fact, if a large orMore difficultSoftware, they often have no way to start.

Currently, most programmers in our country are between level 2 and level 3. Most of them are self-taught, but such programmers can alsoIndependentTo complete some software modules.

However, there are also a lot of first-stage programmers who usually can play.VBWhen creating a program, find a bunch of controls to integrate a software.

A popular saying is that Chinese software talents are now an olive-type talent structure with a large number of middle-level programmers, but fewer junior and senior programmers. WhileIn my opinionIn China, most of them are junior programmers, with few intermediate programmers and fewer advanced programmers.. Therefore, the current talent structure is"Fangta"Shape, this is a bad structure of the fault. The mature software talent structure should be a smooth triangle structure. In this way,Intermediate and senior programmers can fully develop their respective strengths. Comparison of Three talent Structures1.1.

Figure1.1 Comparison of Three talent Structures

How Experts Practice (2)

Differences between junior and senior programmers

Generally, for a problem, the methods for junior programmers and senior programmers to consider the problem are absolutely different. For example, when a programmer is a beginnerVBIt can also make applications, and it looks good.

But when it comes to intermediate programmers, he may not chooseVBAnd may be used.MFCIn this case, you can also make programs with good results.

When a Senior Programmer arrives, he never selects the above tools first,VBOr,VCWell, these are not his considerations. In this case, what is the most efficient and stable solution.

Software is different from other products. For example, to achieve a certain goal in softwareNMethod, but inNOnly one or two methods are the best, and the others are the same. Therefore, we need patience to make a good system. If you don't have patience, you won't be able to live in detail. It's good to have something to live in detail. I think this is the case for software, and it is necessary to invest in everything.

When programmers reach the highest level, they think "I Am a program, and a program is me ". At this time, I am going to build a software program. I don't have my own subjective ideas, but I think about the problems with machines. That is to say, I think about the program in the way of program thinking, instead of thinking about programs in the way I design them. This cannot be understood if it is not at a higher level.

Do you design a program by thinking about the problem and then developing the program based on your own ideas?

Actually not. When I design this program, it is equivalent to "drilling" into this program. At this time, I do not have any thinking of myself. All my thinking is this program,ItHow to proceed in this step, how to proceed in the next step, and what may happen to it.AliveIn this part, if other parts need to interfere, it may be triggered.And leadHow do they affect each other?

Only by reaching this realm can your program be truly written, and it is definitely not a visualization. Visualization itself is "I design this program", and the real programmer is "I am a program". These two methods are absolutely different. For exampleVBDesigning a program is different from thinking in a program. Others may think that the operating system is very profound and complicated. In fact, if you reach the master state, you are the operating system, and you can do any program.

There must be a comprehensive analysis method for software. Simply put, the theory is useless. If you have not passed the first, second, third, and fourth stages, you will never be able to reach a high level. Because the theory of the castle in the air is useless, it must be done step by step.

A Senior Programmer should have an open mind and be able to understand everything from the inside out. Then, you can get to know the latest technology in the world. In fact, there is no difference after the technology reaches the highest level. Everything is the same. As long as you reach this realm, you will be able to understand any issues at a glance and grasp the core issues at a glance, it will not be confused by other branches or appearances. After this step is done, it will be regarded as relatively successful.

From the programmer itself, if it reaches this step, it will have formed an open mind. If he has such an open mind, he can make strategic decisions, which is good for him to do anything in the future. As a matter of fact, there will be a way to analyze the problem after the program is implemented, and you will learn how to split the problem appearance and see its nature. In this case, you can easily solve any specific problem by giving time. In fact, for developing computer software, there is nothing that can't be done, and all the software can be done, just to see if you have time, patience, and financial support.

In recent years, especially in the past two or three years, it is estimated that2005Years ago, large software companies in China's software industry were able to form. It is now being formed. For example, after yongyou went public, its position became more stable. Other large software companies will grow up rapidly in the past few years. At this time, channels including circulation channels and dealers will also grow rapidly. That is to say,2005Years later, China's software industry has a much higher threshold than today, and it will not be much different from the United States. At this time, Chinese software really shows its power. If you are a member of these powers, it will be amazing.

Others may know that Bill Gates is a master of negotiation and a master of selling things. In fact, Bill Gates is basically a master of program, which is the root of his knowledge. He is very sensitive to all technologies. He can see the essence at a glance, and he can also make programs, often watching programs. Now he is not the chairman of the board, but the chief designer, then he is closer to the nature of the program. Because he has a very broad mind and goes deep into the technology itself, he knows the direction of technology. This is very important for a company like him.

If he makes a wrong decision, it will be difficult for the company to look back later. The competition for computers is fierce, so you cannot take the wrong half step. Many companies used to look very popular.

It disappears because it goes wrong, and then it won't work. WhyWill it go wrong? Because he doesn't know where the essence of technology is and where the development direction of technology is.

Because Bill Gates learned the law from his parents, he could "joke" and be very persuasive. While he is doing technology, he knows exactly where the technology is going, so he can grasp the direction very accurately, and the company is getting bigger and bigger. Other companies onlyFireFor a while, but he willRefire. Even if Microsoft is huge, you will also be able to finish it if you are not sure about the forefront of software technology. Just likeIntelAlways graspCPUTo ensure that you are the industry leader. Technology determines its future.

Therefore, to achieve such a goal, programmers must have great patience and opportunities. In fact, the current opportunity is quite good,2005The opportunities are huge before the year, and the opportunities will be small in the future. However, if you have patience, you will still have a chance. The opportunity lies in patience. I remember saying, "half of ambition is patience." I think 2/3 of ambition is patience. The more ambitious you are, the more patient you are, the more likely your ambitions will be. If you have ambition and no patience, you will be confused, and others will be able to see it at a glance. Finally, in the competition, the competitor will see your intention at a Glance. What else can you compete?

1.2.3 Are programmers having fun?

Many people think that programmers are careers before the age of thirty. After the age of thirty, they should not be programmers again. Many programmers now have this idea, which I think is very wrong.

In20Century80End of generation90At the beginning of the age, software had not yet formed an industry, and programmers could not use it as a means to make a living. You had to switch, because when you were young, you didn't have to consider eating, you can "play" every day, but it will not be possible in the future.

As far as I know, the masters in Microsoft are almost 40 or 50 years old, and they are all at the bottom layer. They were in the last century70They started to "play" programs, so they were too clear about the entire computer. Now, some people may want Microsoft to collapse the next day, but the possibility is too small. Because those programmers are fromCPUYes4004And now the game is runningIVNo generation of things they have ever experienced.

Do you know what they are playing? Playing now64BitCPU. Do you say that you are a common programmer, do you have the patience? Without patience, you can't do it, and you can never be a master. Why can he? Because he is not onlyPlayHe is very patient and can keep up with every step of technology, so there is no difficulty or pressure on him.

How experts are trained (3)

Because computer technology does not change suddenly. The difference between this year and last year is not very big, but looking back at the situation three years ago, it is far from the present. Therefore, if you follow technological advances every year, you will be under little pressure, because you will always be able to master the latest technology. However, if you fall down, let alone ten years, or three years, you will not be able to catch up.

If you cannot catch up with it, you will feel very hard; if you cannot catch up with it, you will lose your way; if you lose your way, you will feel that the computer has no taste, and the more you get bored. When you still have a new idea, other people's products have come up, because your level is too far different from others, and people have long come to think of problems, and you are only getting to know them now. The higher the level, the farther he sees it, the more open his mind. The lower the level, the narrower the problem he thinks.

64 Bit CPU It is one of the most important technologies in this decade and the Next Decade. Whoever grabs this opportunity can seize the opportunity to make money in the future. CPU Designed by intel, he must be clear about this. For example 64 Bit. 32 Bit, as from the current Perspective DoS . You said DoS Is it complicated? When you are DoS You may think DoS Complex. You said the current Windows Not complex enough? Windows It's too complicated, but when you arrive 64 Bit to see Windows As you can see now DoS Same.

Whole 64 The platform and thinking methods and ideas of the BIT system are more open than they are now. For example, the current Windows Available in N Items DoS Window, each DoS Windows can run a program. Arrival 64 In fact, the operating system can be enabled N Items X86 , Open N Items Windows 98 And then open N Items Windows 95 The system can achieve this step, or even open your system N Items Windows NT It does not matter. This is 64 Bitwise AND 32 Bit difference. So the "Old Man" of Microsoft, the four or fifty-year-olds who are at the core, are playing with these things now. Do you think Microsoft's technology is not advanced? Yes Linux Can a few players solve the problem?

Microsoft's technology is very strong, and the latest computer technology in the world is definitely concentrated in these hands. In addition, these people are very open-minded, and no one is aware of things.Started. Now64BitCPUThey all came out in Year 12. Do you say someone is going to do these applications? No, some areUNIXAfter the manufacturer completes the work, it will use it for itself.

Therefore, when pursuing the highest realm of technology, there is actually no age limit. For me, it's now. I have never thought about quitting this line. I think I can play it all the time. It's no problem until I retire. I want to keep the front end of the technology at all times. It is not difficult for me to feel tired.

Many people say that programs are not done by people, but are not treated by others. In this way, once they set up a company and make some achievements, they will immediately consider quitting when they are brilliant. Because they are so bitter, they stay up late every night, and it is not enough to burn two packs of cigarettes every night. There is no oxygen in the room. It seems that the problem has not been solved.

Sleeping during the day and working at night, of course it's exhausted. Therefore, a programmer must have a normal mentality. That is to say, when you are doing a program, you should not turn your own life upside down. If you have to cook a lot at nightSmokeWell, you must be less than thirty years old, and your health will be poor after thirty years old.

In fact, I basically didn't stay up late because of program execution. I stayed up late three times, once at school,1986When I first got in touch with the computer, I played games in the computer room with my deskmate one night. After studying for a long time, it was just dawn. This was the first time. Before graduation286To create a program. Another time, before the launch of the super intelligence platform, the company was already very busy and it was unable to go to bed that night.

In general, I also went to bed at twelve o'clock and started up at the next day. Therefore, only with a normal life and a normal pace can you have a normal mentality as a programmer. In this way, your thinking is normal, and only normal things can last for a long time. If you are engaged in a war of fatigue or black and white, you will not be able to play it after a long time. You will not want to play it when you play it.

As long as you don't want to play and do not know New Technologies, you will lag behind. Once you lag behind, it will be hard for you to catch up with others.

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.