A true qualified programmer should have the quality
Quote from http://www.way2sec.com/archives/2005/03/001011.html
Author is not detailed
As a truly qualified programmer, or you should have a programs that can really complete some code work.
1: Team spirit and collaborative ability use it as basic quality, it is not important. It is the opposite, which is the most basic and most important thing to make the programmer. The high-level programmers said that they are all in the words. Any individual's power is limited, even if the genius like Linus, it also needs to create a miracle through the composition of the powerful team, and those who write core around the world. Masters, there is no collaborative spirit is unimaginable. Salers can make some small software to make money, but once entering some large-scale R & D teams, entering commercial and product development tasks, people who lack this quality are completely unqualified.
2: Document habits say that the high-level programmer has never written the document is definitely a bad child. Good document is a very important part of the formal R & D process. As a code programmer, 30% of working hours write technical documentation is normal. And as senior programmers and system analysts, this ratio is much higher. Lack of documentation, a software system lacks vitality, in the future, the upgrade, upgrade, and multiplexing of the module will encounter great trouble.
3: Standardized, standardized code preparation habits As some foreign famous software companies, the code variable name, code within the code, and even the length of the nesting in the nesting, there is clear, good, good Writing habits, not only helps the transplantation and error correction, but also helps cooperation between different technicians. Some coding fans screamed high-level programmers wrote that people never understand, this clam can only prove that they do not match the programmer. The code has good readability and is the basic quality needs of the programmer. Look at the entire Linux construction, there is no normalized and standardized code habit, and global research and development collaboration is absolutely unimaginable.
4: Demand-Understanding Ability Programmer needs to understand the needs of a module, many children write procedures often only pay attention to a functional demand, and they are attributed to hardware, operating systems, and development environments, and ignore the performance consideration of their own code. Some people have said that it is very simple to write an advertising exchange program. This kind of person never know how performance indicators in millions or even orders of access is achieved. For such programmers, you give him a deep blue system He also can't do and visit the Taiji chain. In the performance demand indicators, stability, and access to support capabilities, and security are important. As a programmer needs to assess the environment in which the module is in system operation, the load pressure and various potential dangers and malicious attacks. possibility. At this point, a mature programmer requires at least 2 to 3 years of project research and tracking experience, it may have experience.
5: Retrieval, modular thinking ability can often hear some programmers have such complaints, wrote a few years, become a skilled worker, and repeat some new code, this is China Software talents are most wasteful, some repetitive work has become the main work of skilled programmers, and these are actually avoidable. Multiplexing design, modular thinking is to do more about any functional module or function, do not limit whether the module can be separated from this system without limitation. Can you directly reference it in other systems and applications by simple modification parameters, so you can greatly avoid the development of repetitiveness. If a software R & D unit and the working group can take into account every development process. These problems, then programmers will not delay too much time in repetitive work, there will be more time and effort to put into innovative code work. Some good program module code, even if it is written in the 70s, get it in some system as a function module, and now I see, many small company software is upgraded or improved. All code rewrites, most repetitive work is unfortunately waste time and energy. 6: Test habits As some commercial formalization development, the full-time test engineer is indispensable, but it is not to say that there is a full-time test engineer programmer can not self-test; software research and development as a project Words, a very important feature is the earlier the problem, the lower the cost of solving, the programmer is in each code, and each sub-module is completed, you can try to make some potential problems earlier and Solve, this is the greatest guarantee for the efficiency and reliability of the overall system construction. The test work actually needs to consider both aspects. On the one hand, it is the test of normal calls, which means to complete basic functions in normal calls, which is the most basic test responsibility, but unfortunately, in many companies, this has become the only test task. It is actually far behind; the second aspect is the test of abnormal calls, such as stability testing under high pressure load, the test in the case of user potential anomaly input, the overall system is subject to affected situation Test, frequent unusual abnormal requests to block the module stabilization test, etc. Of course, it is not a programmer to make this complete test on each code of your own, but the programmer must clearly know his code task in the overall project and various performance requirements, targetedly related tests. As soon as possible, I found and solve the problem, of course, this requires the needs of the needs mentioned above.