What Industries Hire Design Engineers?
A software development engineer is a collective name for people who are engaged in software development related work. The technical requirements of software development engineers are relatively comprehensive, except for the most basic programming languages (C / C ++ / JAVA, etc.), database technologies (SQL / ORACLE / DB2, etc.), .NET platform technologies, C #, C / SB / S For program development, there are many cutting-edge technologies such as JAVA SCRIPT, AJAX, HIBERNATE, SPRING, J2EE, WEB SERVICE, STRUTS and so on.
Software Development Engineer
- A software development engineer is a collective name for people who are engaged in software development related work.
- Software development engineer requirements:
- Main duties :
- Design, development, maintenance, installation and implementation of RFID related application software and information management software;
- Database management and application development;
- Software outline design, detailed design, coding, unit testing, and writing of documentation as required
- Requirements :
- Familiar with VC ++, C # or Java programming; Familiar with database development such as Oracle / SQL Server; Familiar with Web system development;
- Familiar with ArcGIS, ArcSDE, MapObjects, and used it for development; familiar with the development technology of embedded GIS for mobile devices.
- Proficient in database management such as Oracle / Microsoft SQL SERVER; engaged in DBA work, has rich experience in host and operating system management, database management, storage management and planning, security management and planning; proficient in PL / SQL programming, familiar with database modeling.
- Developed applications based on Weblogic or Websphere application server; Familiar with the installation, configuration, fault handling and tuning of WebLogic / Websphere; Experience in J2EE related development; Familiar with the configuration and management of weblogic cluster; Those with weblogic administation certification are preferred
- Software development is generally divided into the following four steps: requirements, design, programming and testing!
- 3G Engineer
- China is recognized by the world as the world's largest 3G mobile market, but 3G-related talents are seriously out of balance. Professionals engaged in 3G application software development employ less than a thousand people. According to the forecast of the Ministry of Industry and Information Technology, the gap in China's 3G talent market was more than 1 million in 2010 alone, and the gap in 3G software engineers was about 500,000.
- The current shortage of 3G talents has made the 3G industry a new high-paying industry, and 3G-based software developers have become particularly sought after. Human resources experts said that 3G software development is one of the hottest and most popular professions in the coming years. According to the salary report released by Www.cn, the annual salary of a senior embedded software engineer with 10 years of work experience is about 300,000 yuan. Even for junior embedded software developers, the average monthly salary is about 5,000 yuan, and the average monthly salary of intermediate and senior embedded software engineers has exceeded 10,000 yuan. And with the further development of 3G applications, the salary of 3G software R & D talents will continue to increase. Further rise in water!
- According to the relevant research report released by Ji Shi Information, it is estimated that the domestic 3G talent gap will reach more than 500,000.
- Embedded engineer
- The embedded field is relatively new, and many software and hardware technologies have not been around for a long time (such as ARM processors, embedded operating systems, and LINUX operating systems). Most people have no conditions to access or enter the embedded industry, let alone to be able to The opportunity to receive professional guidance. Therefore, it is difficult to enter this industry, and embedded talents are scarce.
- Java Engineer
- In 2013, although the salary of Java talents is very high, it is difficult for IT companies with strong demand for such talents to recruit qualified Java software engineers. Among them, the most fundamental reason is that many computer major graduates do not master practical skills and experience during their studies, which is far from the actual employment requirements of enterprises. Therefore, the most convenient way for college students majoring in computer to become Java software engineers is to participate in Java vocational skills training with practical projects as the main teaching method, thereby effectively reducing the gap with the specific employment requirements of enterprises.
- The future development direction of Java software engineers can be roughly divided into two categories:
- One is to become management personnel, such as product development manager, technical manager, project manager, etc .;
- The second is to continue his technical work and become a senior software engineer and requirements engineer.
- .net engineer
- According to statistics from relevant authoritative departments, in the next few years, the employment opportunities in China's software industry are huge. The annual demand for software talents will reach 800,000 to 1 million, while the existing industry employs only about 500,000, and professional developers are less than 250,000. In 2011, freshmen from most colleges and universities in the computer department only realized about 10% to 20% of the work in software companies. There was a big gap.
- Graduated in Information and Computing Science. Software engineering is not the same as software development. Software engineering is an engineering discipline that has more guiding significance. A more appropriate analogy: if you compare a piece of software to a bridge, then a software engineer is equivalent to the chief commander of the construction, and an average developer is equivalent to a construction worker!
- With the development of the software industry, software product quality control and quality management are gradually becoming the core of the survival and development of software companies. Almost every large and medium-sized IT company's software products require a lot of quality control, testing and documentation before they are released, and these tasks must rely on skilled software professionals to complete them. Software test engineers are such a heavy corporate role. The industry analysis shows that the demand for these jobs is mainly concentrated in developed coastal cities, of which Beijing and Shanghai account for 33% and 29% of demand, respectively. Private enterprises have the largest demand, accounting for 19%, and wholly foreign-owned European and American enterprises rank second, accounting for 15%. However, the status quo in 2011 is: On the one hand, the demand for high-quality test engineers is increasing, and on the other hand, the domestic professional attention to test engineers is not enough, and many people do not understand what test engineers are engaged in jobs. This makes many IT companies only screen test engineers by eliminating them in actual work. Therefore, there will be a serious shortage of test engineers in China in the short term. Based on the knowledge of IT talent recruited online in 2011, many companies are hiring software test engineers
- Rarely can the right people be recruited at job fairs. In the specific work process, the test engineer's job is to use the test tool to test the function and performance of the product according to the test plan and process, and even write different test cases as required, design and maintain the test system, and perform possible problems on the test plan. Analysis and evaluation. For software test engineers, they must have a high sense of responsibility and self-confidence. Any rigorous test must be a realistic test, because it is related to the quality of a product, and the test engineer is the gatekeeper before the product is shipped. Therefore, it is impossible to do this job without professional technical standards. At the same time, because the testing work is generally completed by multiple test engineers, and the testing department generally needs to communicate more with people in other departments, the test engineers are required to have not only strong technical skills but also strong communication skills. .
- 1. Testers need to improve their hierarchical testing thinking. When dividing test points, not only from a business perspective, but also due to the special nature of the data.
- 2. Testers should also have a certain market awareness and risk awareness, be able to stand on different angles, and analyze the possible risk scenarios of the system as much as possible.
- 3 The test leader must make the test plan smaller in granularity and shorter in cycle; members of the test team have clear goals and sub-goals for their work. Especially for cross-tested modules, testers must have clear responsibilities to ensure that there are no missed scenarios.
- 4 Testers must have a sense of self-promotion and take the initiative to strengthen communication with developers, demanders, and customers.
- 5. The tester should also act as a process monitoring point in the project just like the quality manager. Able to reflect the problems of the project from a global perspective.
- 6. It is very important to improve the efficiency of testing to make full use of reusable assets; the more important part of reusable assets is the reuse of test cases, so in future tests, we must make full use of reusable test cases to improve Test case writing efficiency.
- 7. "The waste of experience is the biggest waste." Testers must sum up in good faith and record their own testing experience. This will not only improve their testing ideas but also provide colleagues with a systematic learning experience.
- As the world's most well-known and largest professional academic organizationIEEE, in 2011, the CSDA (Certified Software Development Associates) will be issued in the United States, India and China. CSDA certification training is an entry-level software engineer led by IEEE. The international certification project, the "Software Development Engineer Certification" project, was developed by the IEEE Computer Society. CSDA training and certification does not carry any product and application color, but teaches the general knowledge of software development to the participants in the certification from the entire process of the software engineering life cycle. With a CSDA certification foundation, students can better participate in other training based on specific product applications.
- The model adopted by CSDA is the training-examination-certificate approach. The training outline is based on the Software Engineering Knowledge System Guide and Software Engineering 2004: Software Engineering Undergraduate Course Plan Guidance, developed by the IEEE Computer Association expert group, and the textbooks are professionally prepared by Holmes. Examinations are conducted by Prometric's test sites. Once the exam passes, candidates will receive a global unified certificate issued by the IEEE. In view of the IEEE's more than 100 years of brand influence, which is not comparable to ordinary corporate brands, and has signed preferential employment cooperation agreements with many software companies around the world, obtaining a CSDA certificate will help candidates in future employment, promotion, and career development. Etc. are of great help.
- Textbook: Professionally written by Prometric (the company that specializes in exams)
- Comprehensive "Software Engineering Knowledge System Guide" "Software Engineering 2004" two books, four modules in English, divided into four volumes.
- Exams: conducted by Prometric's test sites
- The first is the knowledge of the operating system
- Everyone knows that no matter what application software you must rely on an operating system, it can run well only on one operating system; the most commonly used operating systems are Microsoft's Windows operating system. In 2013 Microsoft The Win8 operating system was launched; it was just launched and it was not yet accepted by users. In 2013, most users still used the Win7 and Windows XP operating systems.
- Second is the mastery of the development language
- Software development, popularly speaking, is writing a program, which is to combine a series of commands and let it complete a specific task for us. If you are engaged in Java software development, then you must be proficient in the Java language, and you must understand the characteristics of the Java language, the syntax of the Java language, the algorithms of the Java language, and so on.
- The third is the use of development tools
- As the saying goes: If you want to develop a good software, it is very important to be proficient in the development tools. It can make you do more with less. Java software development commonly used development tools are: open source Eclipse and Charged MyEclipse, .Net software development tools are: Microsoft's VisualStudio, Pascal software development tools: Delphi. Regarding the use of software development tools, you can refer to the extended article "What are the common software development tools?"
- The fourth is understanding of TCP / IP network protocols
- With the TCP / IP network protocol, the network has developed rapidly; from the early operation mode of the C / S structure to the perfect transition of the current mainstream B / S structure, the TCP / IP protocol is indispensable, and it will be more important in the future. It is inseparable from the TCP / IP protocol; if you want to be an excellent software development engineer, especially a mobile phone software development engineer, you not only need to know which layers the ISO is composed of, you must also know the functions and functions of each layer .
- The fifth is the skilled application of the database
- The impact of the database on the software cannot be underestimated, because the work we do is centered on data, and the key part is to manipulate the data. If there is no database, then the role of the software will be greatly reduced; the commonly used in 2011 are relational Databases are mainstream: Oracle's Oracle, Microsoft's sqlserver, IBM's DB2, and some small databases, such as mysql, Access; we must be proficient in the SQL language, which is the key to operating the database.
- The sixth is understanding of software engineering
- Most software development companies will ask you about software engineering when recruiting. Software engineering is a prerequisite for software development; it is impossible for a company to recruit an employee who only writes code and does not know why. Software development engineer, you not only need to write code, but more importantly, you must master the technology used in each stage of the "Software Development Process", such as customer needs, market research, feasibility analysis, requirements analysis, detailed design, Final software testing and more.
- The seventh is to have the courage to explore and innovate
- An excellent programmer cannot always stay still and not think about it. Think about why you want to do this and what the consequences will be if you do nt do it. You must work hard to learn new knowledge because the software industry It is an industry with a very fast update speed. If your knowledge has not been updated in 2 years, then your prospects in this software development industry are not optimistic; you must spend some time every day to learn new knowledge. Only in this way can you Go better, go further, and be more stable.