Second, conscious awareness of norms and team spirit. With the increasing scale of software projects, it is impossible to complete the work by one's own efforts. Therefore, modern software enterprises pay more and more attention to team spirit. Generally speaking, programmers in software enterprises can be divided into two types. One is "guerrillas", who may be familiar with programming tools and have strong ability to write concise and efficient programs, but lack the concept of standardization and cooperation; The other programmer's personal ability is not necessarily strong, but the program is more standardized and the sense of cooperation is better. The second kind of person is more suitable for the development trend of modern software enterprises. For basic software engineers, their role in the enterprise determines that they must have a good sense of norms and team spirit.
Third, the ability to understand and use the database. Information is data-centric, so it is essential to interact with the database. Understanding database operation and programming is one of the basic qualities that software engineers need.
Fourth, strong English reading and writing skills. The dominant language in the programming world is English, which is essential for writing program development documents and tool help files, understanding the latest industry trends and reading technical articles, as well as communicating with programmers and sending help requests. As a basic software engineer, it is very helpful to have a certain English foundation to improve your learning and working ability.
Fifth, we should have the concept of software engineering. Compared with system analysts and senior programmers, the work of basic software engineers is simpler, but they are still an important part of the whole software engineering. They also need to have the concept of software engineering: from the beginning of project requirements analysis to the end of installation and debugging, basic software engineers must be able to clearly understand and grasp these processes and be competent for the specific work of each link.
Intransitive verbs curiosity and enterprise. The software industry is a constantly changing and innovative industry. In the face of endless new technologies, the curiosity and enterprising spirit of software talents are particularly important, which is the basic condition for a foothold in this highly competitive industry. Software engineers should have strong learning and summarizing ability, understanding ability of requirements and sensitivity to new technologies. These abilities are not created out of thin air, but gradually acquired through training and education. At present, there is a lot of training for software engineers in society, but the good and the bad are mixed. Some good training can train students from knowledge to skills, from skills to applications, from applications to projects. It not only pays attention to the technical level, but also pays attention to the ability training that cannot be taken into account in the process of certification training, such as the implementation of project planning, teamwork, the preparation of technical documents, etc., which can enable students to master and understand object-oriented software engineering methods and component software design ideas in theory. There are also some training centers, aiming at software designers, through the theoretical practice of classical design patterns, let students master and apply their own methods of thinking and solving problems, sum up technical experience, build their own design pattern library, and let software designers systematically master object-oriented methods. Compared with the advanced basic theory education in the field of information technology, the training mode of software talents in colleges and universities in China has great shortcomings in the cultivation of practical skills, the acquisition and exchange of IT cutting-edge technologies, and the development of software projects in line with international standards. In order to solve this problem, it is necessary to introduce the talent training mode of "software education products" in colleges and universities. "Software education product" is an educational product solution for training middle and senior software talents, and its fundamental purpose can be summarized as-training senior software project managers who master the development direction of IT technology, are familiar with international development norms and standards, and have rich experience in project management. "Software education products" include the design of teaching scheme, the selection and setting of courses, the introduction and secondary development of teaching materials, the monitoring of teaching management process and the implementation of teaching practice.
Technology alone is far from enough, and the industry is changing rapidly. The concept of compounds is also applicable to information technology related departments. If software engineers can take courses in software and hardware, have a little knowledge of telecommunications, and be familiar with the relevant knowledge of a certain industry, they will be more popular in the workplace than engineers who simply write programs, and they will have more job choices. And if you want to be a compound software engineer, you should at least do the following:
First, cultivate your own market awareness. Market demand determines the development direction of software industry. Software engineers should discuss technology in the market, even if it is "seamless" technology, if there is no market demand, they can only "admire themselves". Most software is a commodity, and the achievement of any commodity depends on the scale of application requirements first. The basic premise for Bill Gates to become the first person in the software industry is that he has grasped the biggest application demand of the software industry in the PC era.
Second, cultivate the adaptability of global vision. UFIDA started with financial software, but Wang Wenjing recently said that there will be no specialized financial software company in two years: "Finance is the core of enterprise management, but the demand for supply and marketing and customer relationship management will inevitably increase, so it is best to forget that we are financial software companies, and we want the enterprise management software market." Similarly, for software engineers, their positioning is not once and for all. Being good at sizing up the situation, coordinating with Lian Heng and being adaptable are the basic qualities necessary for software engineers. In the jittery time, we should be good at identifying where is the most irreplaceable user demand gateway, and then combine our own technical characteristics to transform it, so as to make a difference in the software industry. Third, cultivate the professional knowledge of a certain industry. IBM has a white paper entitled "A New Era of China's Banking Joining WTO". The ultimate goal of IBM as a bank consultant is to promote its overall solution and occupy the software and hardware service market of China's financial industry. But what IBM has done tells us that it is not enough to have a large number of professional technicians in order to obtain the technologies and products involved in a certain industry, but also to have a kind of cognition and grasp ability of the industry. Software education should abandon the old concept of training pure technical developers, focus on future needs, and vigorously train compound software engineers.
Finally, master English skillfully. English is the mainstream language in the IT field, and it is self-evident that it is important to improve the skills and business level of software engineers. Software engineers always need to learn the use of the most popular and advanced programming tools in the industry at the first time, but it is impossible for software engineers to find Chinese instructions or help documents for such software immediately. In the training plan for software engineers launched by Beijing Software Industry Association, the importance of software engineering English is emphasized, English teaching hours are increased, and targeted teaching materials are compiled in combination with the characteristics of scientific English and programming work, highlighting practicality. Through the investigation of students and the test of learning effect, this method has achieved good results.
Further reading: How to buy insurance, which is good, and teach you how to avoid these "pits" of insurance.