In my opinion, most of the general programmers in China's major software companies in China are roughly divided into three categories:
The first category, the technical skill is solid, solve the problem, and the foot is ground, and it is quite professional. For your own code, even if you add a dot, you will do it as much as possible, because that is his work, not just The company's interests also represent himself. These people usually have a natural love for computers and programming.
The second category, technology is good, can solve practical problems, as long as you work, you can do 80 ~ 90 points, you can only do 60 points because of all kinds of non-technical reasons. Moreover, this is there nothing wrong with it, but it is a grade from the first class.
Third categories, technical Malaysia tigers, solve problems, but in order to reach the bottom line of 60 points, it is also quite diligent and conscientious.
If these three categories can't row, it is basically not necessary to mix in the software industry, and it will not be eliminated. Be a rough estimate, the first category accounts for 10%, the second category 60%, the third category 30% this, this is my feelings.
For the first category, all companies want to get the trick, only the lack of Bole and should pay attention, and these people are generally conservative and low-key. The second category is the largest proportion, and complaints are also the easiest to issue this group. This group may represent the actual situation of most of China's programmers, with a word to describe, that is, "impetuous". In fact, this group is one of the most potential to dig in three categories. For a third type of programmer, I think it is more hard, but it is more appreciated than the second type. As long as there is no problem in management and processes, production efficiency can also go.
Usually, a software company has the above three types of programmers, at least in general, only the first type of programmer, how to integrate these three programmers together, play a role that the individual should have, this is the manager of each project It needs to face the difficult problem. Personally, unless the company's leadership can fully understand and cooperate with the project manager, put some rights into PM, and good project manager can also do some work under very promotion, but what can be done may be quite limited .
There is a saying that the so-called software engineering is a software product that makes the required requirements. This is of course a small challenge under the development of the current software industry.
Just just talk about it, if you think there is something wrong, welcome to say your thoughts.