Programmers must be professional

Source: Internet
Author: User
On Saturday (February 23), the third class of CSDP certification training started at Zhongguancun Innovation Institute. The opening ceremony was very special. The organizer specially held a software engineering seminar. When I arrived at the venue, I was catching up with the speech given by Mr. Chen Shangyi, General Manager of the general product R & D center of China software. The topic was the professionalism of software engineers. Mr. Chen has been working in Silicon Valley for many years. Currently, chinsoft group is a senior manager and a lecturer in CSDP training. He has a deep understanding of the software industry in China and the United States. As soon as I sat down, I was attracted by Mr. Chen's topic. In his speech, Mr. Chen proposed his observation that the average efficiency (or productivity) of software engineers in Silicon Valley is much higher than that of software engineers in Beijing, it may exceed 10 times.

I was a little shocked when I heard this conclusion, because the "external image" of Chinese software engineers is still good as I have seen in the media for five years, many foreigners have repeatedly expressed their surprise at the talents and diligence of Chinese engineers. Even if I have repeatedly asked questions and suggestions, they usually squeeze out the words "inexperienced" from their teeth. It was the first time I heard this bluntly, like Mr. Chen. However, when I think about it, I have some doubts. Foreigners are famous for their frankness. There is such a big gap between them, and there is no need to say anything in front of me. Moreover, there are not only a minority of Silicon Valley software engineers, saying Chinese are inefficient? I'm not satisfied.

Next, I understood that Mr. Chen pointed out that this gap is not the gap between "Chinese" and "Americans", but between "non-professional" and "professional. No matter where they are, the efficiency gap between non-professional software engineers and professional software engineers is ten or even dozens of times. This is not an exaggerated figure. The reason for the gap between Beijing and Silicon Valley is that there are too few professional engineers in China and non-professional engineers are the mainstream. However, in the Silicon Valley region, Mr. Nan Guo is relatively difficult to handle a large number of problems, professionalProgramThe majority of members are reflected in the average productivity, which is naturally quite different. Mr. Chen also pointed out that, from a certain perspective, the large salary gap between software engineers in China and the United States is a reflection of the average productivity gap between the two regions. He said: "If you are a real professional software engineer, you should be able to achieve similar income levels wherever you are, because the software industry is a truly globalized industry."

This is a topic that interests me very much. As we all know, in "no silver bullet", the "only" method proposed by Fred Brooks, a Senior Software Engineering engineer, can increase software productivity by an order of magnitude by hiring talented programmers, therefore, the efficiency gap between "genius" and "Normal" is 10 times or even dozens of times, which everyone knows. However, as I have always understood, a talented programmer is the kind of brainchild,AlgorithmWell-developed, fast, and well-developed programs are beyond reach, and there is no effective training means to generate them in batches. However, "Professional Software Engineers" are different. The so-called professional here refers to a standardized value and knowledge system, standardized work habits and professional discipline, and a professional work style and process, of course, they also have corresponding skills and experience. Obviously, such talents can not only be fully achieved by every common programmer, but also be systematically trained on a large scale. If this idea is correct, Chinese programmers should not spend all their time thinking about what new to catch up with, what the tide is on, and what to face in a moment, and what to face in a moment, A language on the left and a framework on the right are tossing around. Instead, we should work hard on professionalism.

This reminds me of Kent Beck, a master of agile technology.Famous saying: "I am not a good programmer. I am just an ordinary programmer with good habits ." The so-called "good habits" should be an important embodiment of "professional. This statement by Kent Beck actually implies a significant difference between the "good programmer" in the traditional concept and the truly valuable software engineer that is needed now. That is to say, you cannot take it for granted that you are a qualified software engineer because of a good program writing. Without professionalism, you are not a professional engineer.

In the next few days, I have discussed this issue with several people. Among them are the Technical Directors of software enterprises in the United States, software enterprise managers who have struggled for many years in China, and professionals who have accumulated many years in some fields, there are also programmers and bosses who are struggling to start a business, large companies, small companies, Chinese people, Americans, Chinese people who have been to the United States, and Americans who have come to China. Their opinions can be said to disagree with Mr Chen Shangyi and express their dissatisfaction with Chinese programmers due to their lack of professional skills. In contrast, we Chinese people have a fierce attitude towards this issue, but our outsiders are more polite. One person cautiously said: "It may not be as big as 10 times, but it must be more than five times." I smiled bitterly and said, "I can't stand it seven or eight times. In the long run, Chinese people must be able to survive ."

From these discussions, I have come to the conclusion that, although they are also eager to obtain "talented programmers", they actually put the requirements for professional programmers before the genius, that is, rather than being a professional engineer, it is best to be a professional engineer. But in reality, such a person is really hard to meet, it is important to emphasize professionalism first. They believe that professionalism ensures that a programmer's skills and work can bring benefits to the Organization, and they will only pay for such benefits, don't take the initiative to pay the tribute to the silver out of admiration for the "Daniel. Moreover, they also believe that technical and empirical deficiencies can be easily compensated in practice as long as a person has sufficient degree of professionalism.

From this point of view, the so-called "ten times gap" is likely to be established. The whole software industry's call for professional programmers is also real. This reminds me of the fact that when I interviewed Mr. Liu yingwu, the founder of shushuo software, who was a doctor of computer science in the 1960 s and former senior vice president of IBM, the creators of SQL language once strongly expressed similar opinions. He pointed his finger to me and said, "Technology is the easiest solution. You said that. net, how long can you master it? Half a year is not enough? One year is not enough? How about J2EE? Can it be a year? A year and a half? Even the most complex C ++, after three years, are you still confused? But how long does it take to build a world-class, commercially successful software team? 15 years, 20 years! You cannot relax at all. I don't understand. Why are so many people complacent about their own technologies? When I was in IBM, my team was all about doctors from top American universities, but no matter how good they were, if they could not follow the discipline and do not bring benefits to the Organization, they would have no value at all! In China, there are many programmers who think they are highly skilled. They should pay high salaries, be good, and be disciplined. They seldom ask themselves what value they bring to the team, what value they bring to the company, and what value they bring to the customer? In my opinion, this is not professional and unqualified. I believe that this situation will pass sooner or later, and the evaluation of software engineers will soon return to value. It is only at that time that China's software will develop rapidly ."

Two years ago, we thought this story was "too exciting" and was not published. Now, Mr. Liu's point of view has become a consensus. Without a doubt, this means that the era of Chinese programmers will be over soon. We should begin to attach great importance to the interests and values of the Organization and realize the transformation from a self-employed to an enterprise through "professional" cultivation.
 

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.