Programmers virtues (Source: patron of the Human Resources Network: Zhaoyue Wang) programmer must be in addition to the basic Daoxing practice. More important is the cultivation of virtue. Germany = cooperative capability or communication skills. For software projects with large scale, long life cycle (especially the length of derivative life cycle), virtue is more important. Dexing's standard software development is inseparable from enterprises. The culture of the company has determined the programmer's behavioral norm, and the more ideal corporate culture is: the convenience of communication, freedom, equality, personal development and enterprise development. Such a corporate culture will inevitably have a long-term spirit and adventure spirit. The model of this is Microsoft, the company's global employees are only 28 years old, no matter which company in the world, Microsoft's standards are the same. Choosing the first standard of employees is whether the candidate has good morality. Microsoft believes that good quality is the foundation of professional ethics. Second, look at the ability of the employer to solve the problem, is retreating when it faces difficulties, or goes forward, because there is often a new problem in actual work. Third, to test the ability to learn if there is no quick learning ability, and the current development requirements of the new day have a fast learning ability. In addition, the team spirit, responsibility, enthusiasm, innovative spirit, and independent work ability are must be. The programmers of good corporate cultural smoked will inevitably pay attention to the long-term development of professional elites, such programmers will inevitably set their own career development pipes earlier. For example: management sequence: programmer -> Project management person -> intermediate management -> senior management; technical sequence: programmer -> Advanced programmer -> Demand Analyst // Architecture Engineer // Quality Management; Market Sequence: Programmer -> Pre-sales Support -> Sales; Personal Skills Adapt to Such Personal Vocational Development Pipes: - Software Basic Theory is solid; - systematic analysis and design capacity; - skilled system development, System test and system maintenance technology and management skills; - Strong project management capabilities and exchange and organization coordination ability; - in the company can adapt to software product development, but also adapt to project management positions; - have independent work capabilities and innovative mind. During the project development process, effective communication is very important, communication has a variety of ways, in addition to common ways, the following will talk about several featured ways: * History and how to minimize the value of past achievements Need to talk about the results (algorithm, code, design ideas, etc.) for re-organizing, so that it can be quickly retrieved. * Standardization "The best communication is no communication", through standardized technical means, making personal output can be very easy to understand by others, so that the efficiency of communication can be avoided. * The development of technical consistency software technology has made programmers need to continue to divide, this is the biggest problem that is interoperable in different technologies. To this end, during the program development process, it is increasingly important for technical advances that require continuously. Also, as long as the functional needs are met, the simplest implementation technology is adopted. * Simply analyzing the scale of the program is increasingly large, and the BUG's price schedule index increase. Therefore, as little as possible to make mistakes (such as pointers such as C language), try to use simple (sacrificial efficiency) algorithm, as little "consolidated point" is very valuable.
Due to the domestic programmers have some universal advantages: such as ambition, facing difficulties, theoretical foundation, especially mathematical skills, strong programming ability, hard work, discipline, and obey. The shortcomings are also outstanding: innovative spirit, lack of active, independent engagement, is weak, there is no main seeing for many things, and there is no idea to say, not enough, not good at communicating with people, lack of cooperation. There are still some shortcomings: dishonest - the performance is not going to do; the greed is cheap - private affairs in the company; not practical - I have been very eager to get a good time. These bad morals are shown in practical program development: * Abuse of invariat, debugging with your own module, knowing "bottlenecks" everywhere in the program, these bottlenecks are the most important thing that causes the operation of procedures One of the factors. For example, a memory space opened with a constant is defined between the module interface. Eliminate these bottlenecks to start from several aspects: - Use technical means to reduce non-variable use, do not cause trouble to others; - Convert non-variables, convenient for your boss to make BUG correction decisions; - Apply Various exception Mechanism, accurate positioning of abnormal appearance in invariance; * does not respect the documentation, the contract awareness is weak, and the document should be regarded as a legal contract, and must be carefully written, completely compliance. And, once it is found to define a blurred place, it should be reported to the author in a proper correction. * Do not write or write a comment, small agricultural thinking is common, module is unique, annotation can help testers and maintenance staff, and, especially in software reuse, maximize the life cycle of the module; * Don't care about the progress of others, personal interests than the balance of previous development progress is an important symbol of a successful project. Personal ability is unbalanced, and everyone's workload is also unbalanced. Care to the progress of others and to apply to aid in proper timing, will maximize the development progress "bottleneck". You must know: The success of the team is the premise of personal success; * Do not learn from the flash point of others, highlighting technology, neglect virtue, difficult to innovate innovation and content innovation. There is an interesting phenomenon, and everyone has experienced, such as: A uses an algorithm in the module he is responsible to get leadership; b is another algorithm, maybe B's algorithm is good, but standing throughout the project From a perspective, B behavior is harmful, because he harmed the efficiency of communication (leaders should see two algorithms, the tester should make two algorithms, and the maintenance personnel will be more bitter). The company's virtue IT community is generally believed that domestic IT education has insufficient in the course setting, such as the course of the course, the students' hands-on ability, lack practical experience. Many companies complain that after the students go to the company, they are not easy to use, and the company has to train for a while, so many companies are reluctant to choose the current sources, and like to recruit from society. Is it actually like this? This actually reflects the scale of domestic software companies, and only the application software development of the shorter life cycle, so these companies have determined that their "mouse-eyed light" on their own resources is limited to the urgent work of their needs. In fact, cultivating college students who have just come from school is the most suitable talent selection method.