[转] Software talents come from practice, from the software

xiaoxiao2021-03-06  14

Software talents are not from books, nor from the certificate. Software talents can only come from practice, from the software! The development of the software industry is a major event that China's high-tech can stand to the forefront of the world, and is attached importance to the relevant national leadership and information industry people. There are three basic conditions, namely funds, talents and markets. Today's columns are analyzed and armed for how to develop software talents. The lack of software talents is a large number of countries in the world, including the world's largest software country, and a common problem. Since the development of China's software industry is relatively late, the scale is small, and the lack of talents is more prominent. In the case of the government to call and support the development of domestic software industry, how to cultivate a large number of high-quality software talents in a fast speed will become a very urgent topic. From more than a year, domestic solutions have roughly two aspects. First, software staff training. The newly 35 software colleges have begun enrollment in the fall of last fall, and there is a master's degree, Ph.D., and also read undergraduate or second bachelor's degree. Some came towards the so-called "blue collar" talents, that is, software engineers; there are also some people to manage talents of "white-collar" or "advanced" talents, namely software structural designers or managers. At the same time, many off-production or amateur software training courses will also be born to meet the needs of technicians who wish to go. The second aspect of the solution is the training of software companies. More specifically, through CMM test certification, improve the quality of a company in development software. A year ago, companies through CMM3 were still in number. At present, some companies have reached CMM4, and recent East Soft is the first to reach CMM5 certification. Does the college-style training and whether CMM certification can achieve the purpose of rapid cultivation of high quality talents? Where did the software talent come from? To answer these questions, you must first understand how the software is developed, and the software personnel need what skills and knowledge structures, as well as software personnel growth routes. According to the experience in the US Sun Leading Software Development Team and how many years in Silicon Valley, I think software development is not as good as science and technology. It is more important as art or sports, and the solid training is important, but the final success is Through a large number of actual combat, the experience is constantly accumulated, and it is constantly hone in the game. Software talents' knowledge structure is not existing in the vacuum. It is for a certain type of application, and has been developed by certain development tools, facing some specific operational platforms. Therefore, in addition to sufficient computer background and programming skills, a good software engineer has to have the following knowledge: 1. General software engineering knowledge. For example, a good engineer should understand from the product requirements, project planning, software system framework design, to specific interface design, programming, test, etc., know what step should be done. 2. Professional knowledge in the field of software applications. For example, if a software is used for the banking industry, you know that the relevant banking business has a decisive role in the design and modification of the software. And if you design the Java.Net package, you must understand how other programmers use the network interface, because Java.net is a general interface for this group "user". 3. Tools and environments knowledge. Before doing a software product, you want to select the application platform, operating system, and programming language and development system used by the program. Develop a business-class application that runs on the Solaris server with C 's personal application with C , which is very different for an engineer's expertise. For example, how to use the characteristics of Java virtual machines to improve program efficiency, how to use CVS more efficient management development, if it is open source software, how to coordinate with open source community, etc., the problem is different due to projects.

Obviously, most of these knowledge is not learned in the classroom class. Only by a lot of practices can become an expert in software development. And it is only capable of strong, absorbing fast, and more people accumulatory may become an expert. The so-called software "advanced" talents in managed talents and senior technical talents refers to a senior software engineer. Their work is highly resistant to the leading role of software development, designing product frameworks, solving problems, and tutoring, primary engineers. The so-called software "management" talent refers to the manager character of the software product department. Their main tasks are partial on management, and both management of the entire project developed by the team and management of software products. Managing talents and senior technical talents are two very different talents. Senior technicians need deep technical foundations, a large number of software development experience, taste the structure and interface design capabilities, and the extensive and in-depth understanding of various development systems and platforms. In addition to the respect for other technicians, good senior technicians should have strong leadership capabilities, affinity, and technical leadership, and become a "leader" in non-technical. Managing talents requires strong operational capabilities, which can effectively plan (including funds and time), allocate resources, and direct a plurality of different features. In the predetermined time, high quality software products are made without exceeding the budget. Managers also need to deal with customers and other departments, so people with communication and communication skills, written and verbal expressions, etc. are high. Management staff can also get trust and support from employees to play a leadership. These two different talents have different characteristics in the quality, even in their character, but there are common situations, that is, most of the talents are engineers, there is enough technical background. Advanced technicians are stood out from ordinary engineers, this may be more likely to understand. Why is the software management talents choose from engineers? Simply put, the manager of the software department must understand software engineers' work, hobbies, habits, etc. to effectively manage. Itself is out of engineers, there are many natural advantages than others. More importantly, a department's manager faces many decision-making issues every day. For example, how to solve the unavoidable contradiction between products in performance, quality and development time. Or during product research and development, how to strain when new market movements appear. To decision on these management issues, you must actually master deeper technical knowledge to make accurate judgment. In turn, an administrator who does not understand technology is usually equipped with a senior technician to do "military divisions". And when you encounter two or three different technical opinions, it will be difficult to determine. Throughout the SUN's large hardware software product sectors, most managers are from engineers. Below I take Sun's product department as an example to see how talent is configured in terms of technical and management, and at three levels in low high. (The level name used in this article leads from Sun's global personnel system norm, and the usage of work in some regions is not necessarily consistent.) The talent structure of the software department is divided into four in SUN, General Stafff. level. When you do the fourth level, your ability should be very strong, how much less technology can be unique. From the fourth level, go up, you have to make a relatively large career choice. This is the first "Kan" promoted. A road is a high-level engineer (Staff Engineer) or "high work". The high work is divided into secondary. To achieve Senior Staff Engineer, you should be able to dominate the technical direction of several items. Of course, the higher the level, the stronger the requirements, the tightening of the year-end assessment, very little can be obtained.

Going up, I have encountered the second big "hurdle", which is upgraded to the Distinguished Engineer or the Fellow. In Sun's global, 20,000 technicians, outstanding engineers and academics have more than 60 people. Everyone usually has highlighted accommodation in a certain technical field, and is the leading character in the world. These people are the technical leadership of the SUN hardware system development, generally not directly tuned or project. Most time to handle technical issues, do things for design and writing procedures. Another road is to promote the departmental manager and is divided into ordinary manager and senior manager. If you rise again, you will jump over the big "hurd" to the Director, and even the vice president. These people are managed by management. The details of the department manager and software development have not been in contact, and the director or vice president is not a delay. Select which one in the two roads, one is to look at the opportunity, the other is to see personal abilities and hobbies. In Sun, not who wants to be a manager, not a "white-collar" class graduation certificate. Usually, an engineer shows the quality of manager talents in the work, and after targeting and a practice, it will be promoted. Here, directional cultivation includes the basic class of elective management, including courses on management legal knowledge, and a certain amount of consulting counseling by the person's superiors. In the process of engineers, a big problem to avoid is to put the most grades of technicians regardless of three seven twenty-one. Whether they have managed talents or wishes, they have promoted their managers, let them manage people and project. The reason for this problem is that in many companies, the promotion is the only way to promote. In this way, not only did you have excellent managers, but also lost a good senior engineer. One of the effective ways to solve this problem is to open a wide bright career development path to the skilled person. In Sun, in order to encourage technicians, advanced technicians (from ordinary senior engineers to academicians) and management level (ordinary manager to Vice President), in terms of payment, in terms of wages, etc. equal sign. Of course, due to the relationship of the working nature, senior engineers are far more than managing, but the director or vice president is far more than the outstanding engineer and academician. In addition to the technicians, a complete software development department should also have a supporting program management, document management (documentation), test and Quality Assurance, as well as the Release Engineering department. This article doesn't talk much in these respects. But it is worth mentioning that Sun has a full range of product life cycles, referred to as PLC. And our Program Manager ensures the development of the product, strictly abide by the process specifications of the PLC. Software development and CMM said PLC, naturally think of CMM, because PLC can be said to be the product R & D specification within Sun. Due to the attention of CMM in China, many people asked me that CMM did not use. CMM is a norm of research and development and management of a software enterprise proposed by the University of Carnegie University of Carnegun University. In recent years, many domestic and foreign units have adopted, on the one hand, by implementing CMM to improve the management level of software development process, while the CMM certificate will illustrate their strength. Learning CMM, nature is naturally useful than learning. Just like a person who wants to become a writer to write, I listen to how others write it, and there are several forms of novels, etc., don't inspire. In addition, it is often heard that some companies say that CMM has increased software development efficiency, making errors and rework rates, and improved program stability.

But if the CMM certification and a company's software R & D capability have an inevitable relationship, I am afraid it is not necessarily. The world's first-class software company includes Sun, Oracle, Microsoft, IBM, BEA, Adobe, Apple, Macromedia, etc., without a specification with CMM as product development. The world's first-class software products such as UNIX (Solaris, HP / UX, AIX), Linux (Redhat, SUSE), Microsoft Windows, Office Suite (Microsoft Office, Staroffice, OpenOffice), Scimaker, InDesign, Browse (Microsoft IE, Netscape Navigator, Mozilla, Opera, Safari), Website Server (WebLogic, WebSphere, SunOne Application Server), Java (J2ME, J2SE, J2EE), Microsoft .NET Many other products are not developed with CMM. This is not to say that CMM is useless, but the world-class software products can also be developed without CMM. Everyone trusts the products developed by these famous companies, attributed to the reputation of these companies to develop a first-class product. Conclusion The content involved in today's column can be summarized as follows. First of all, we must cultivate a large number of software talents, and the college-style education is only a stage of playing. Real talents should be formed through a large number of practices, through multiple software product development cycles to shape it. The idea of ​​software engineering cannot be implemented only when developing products within software companies, but should penetrate into work and study. For example, in the school, the teachers guided various software projects should use various specifications and tools of software engineering, and should not be simply made because it is a one-time or temporary work. In Sun, even the company's website content is managed in strict accordance with the software source code, not only automatically record the content modification, it is easy to return to the previous version. In addition, managers (especially low-level management personnel) and senior technicians can also cultivate from engineers. These people should not only have enough technical background, but also have experience in the first line of work, and strong leadership and communication skills. One person has this potential, only in the actual software development environment. Only one "white-collar" class does not necessarily have the ability to "white collar". Furthermore, whether it is CMM, it is also a SUN's PLC, the key is not that the certificate is not in the actual application, and there is no complete and effective specification and process in software research and development. The final inspection standard is a company that can develop world-class software products. Speaking with products, more than a paper certificate or advertisement. All in all, software talents are not from books, nor from the certificate. Software talents can only come from the practice, from the software. Note: Today, I finally saw two very real articles, and I came up!

Touching is quite ............

转载请注明原文地址:https://www.9cbs.com/read-46379.html

New Post(0)