Software development engineer

Main Responsibilities

① Design, R&D, maintenance, installation and implementation of RFID-related application software and information management software;

②Database management and application development;< /p>

③ Carry out software outline design, detailed design, coding, unit test work and preparation of documentation according to requirements

Job requirements

① Familiar with VC++, C# or Java programming; familiar with database development such as Oracle/SQL Server; familiar with web system development;

② proficient in the use and development of ArcGIS, ArcSDE, MapObjects; familiar with mobile device embedded GIS development technology.

③ Proficient in database management such as Oracle/Microsoft SQL SERVER; engaged in DBA work, with 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; with J2EE related development experience; familiar with the configuration and management of weblogic cluster; yes Weblogic administration certificate is preferred.

Software development

Overview

Software development is generally divided into the following four steps: requirements, design, programming and testing.

Requirements

Not only user requirements, but all requirements encountered in development. For example, you must first know what problems you are doing this project to solve; what data should be entered in the test case... In order to clearly understand these requirements, you often have to communicate with customers, project managers, etc.

Design

Before coding, there must be a plan to tell you what to do, what is the structure, and so on. You must follow this, otherwise it may be a mess.

Programming

If your program fails to run or meet the customer's requirements by the project deadline, you will not get the money.

Testing

The purpose is to let you know when it is completed. If you are smart, you should write the test first so that you can know in time whether you have actually completed it. Otherwise, you often don't know which functions are actually completed and how far is it from the expected goal.

In software development, customers and developers have their own basic rights and obligations.

Customers:

Define the business priorities of each user’s needs;

Develop an overall plan, including how much investment, how long it takes, and what goals to achieve ;

Each work week in the project development process can make the investment get the maximum return;

By repeatedly running the function test you specify, you can accurately grasp the project progress Situation;

Able to change requirements, functions or priorities at any time, while avoiding expensive reinvestment; be able to adjust the project plan in time according to various changes;

can cancel the project at any time; project cancellation At that time, the previous development work is not a pile of rubbish, the functions that have been developed are satisfactory, and the work in progress or unfinished should not be difficult to take over.

Developer:

Know what to do and what to prioritize;

Work efficiently;

There are problems or difficulties Can get answers or help from customers, colleagues, superiors;

Evaluate the work and re-evaluate it in time according to the changes in the surrounding situation;

Actively undertake the work, not pass it negatively Accept distribution;

Based on a 40-hour work week.

Certification

1. In order to implement the national strategy of rejuvenating the country through science and education and improve the quality of workers, according to Article 8 of Chapter 1 of the Vocational Education Law of the People’s Republic of China, “The implementation of vocational education shall According to actual needs, in accordance with the occupational classification and occupational grade standards formulated by the country, a system of academic certificates, training certificates and vocational qualification certificates shall be implemented.

Second, CVEQC certificate holders have passed Chinese vocational education The training and corresponding examinations organized by the Qualification Certification Guidance Center have corresponding professional skills and knowledge.

3. CVEQC certificate can be used as a training certification for pre-job training, on-the-job training, improvement training, and continuing education for workers ; It is also a certificate for workers to "train first, then obtain employment, first train and then post".

Four. The CVEQC certificate is a professional skill certificate issued by the China Vocational Education Qualification Certification and Guidance Center. It is marked with the certificate serial number , Certificate number, ID number of trainer and certificate holder, and stamped with certificate special seal of National Vocational Education Management Committee and China Vocational Education Qualification Certification Guidance Center.

V. Certificates to prove participation in training and The certificate holder has the experience of systematically accepting job skills training, and the certificate is valid nationwide.

Employment

3G engineers

China is recognized by the world The world’s largest 3G mobile market, however, 3G-related talents are seriously out of balance. There are less than 1,000 employees specializing in 3G application software development. According to the Ministry of Industry and Information Technology, the gap in China’s 3G talent market will be more than 1 million in 2010 alone, of which 3G The software engineer gap is 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 say that 3G software development is One of the most popular and most popular occupations in the next few years. According to the salary report released by 51job.com, the annual salary of senior embedded software engineers with 10 years of work experience is around 300,000 yuan. Even for junior embedded software development The average monthly salary of personnel is also around 5,000 yuan, and the average monthly salary of middle and senior embedded software engineers has exceeded 10,000 yuan, and with the further development of 3G applications, the salary of 3G software research and development talents will further rise!

< p>According to a related research report released by CCW, it is estimated that the domestic 3G talent gap will reach more than 500,000.

Embedded engineers

The embedded field is relatively new, and many software companies The appearance of hardware technology is not too long (such as ARM processor, embedded operating system, LINUX operating system), most people do not have the conditions to contact or enter the embedded industry, let alone the opportunity to receive professional guidance. Therefore, it is relatively difficult to enter this industry, and embedded talents are scarce.

Java engineers

In 2013, although Java talents The salary is high, but IT companies that have a strong demand for this type of talent have difficulty recruiting qualified Java software engineers. Among them, the most fundamental reason is that many computer graduates did 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 computer majors to become Java software engineers is to participate in Java vocational skills training with actual combat projects as the main teaching method, thereby effectively reducing the gap between the specific employment requirements of the enterprise.

The future development direction of Java software engineers can be roughly divided into two categories:

One is to become managers, such as product development managers, technical managers, project managers, etc.;

< p>The second is to continue his technical work to become a senior software engineer, demand engineer, etc.

.net engineer

According to statistics from relevant authoritative departments, my country’s software industry will have huge opportunities for employment in the next few years, and the annual demand for software talents will reach 800,000-1 million. However, there are only about 500,000 employees in the industry, and less than 250,000 professional developers. In 2011, most colleges and universities graduated from computer science students, and only about 10% to 20% of those who could actually work in software companies that year were left behind. Very big.

.Net, as a member of a new generation of programming languages, also has many advantages and makes up for the shortcomings of the previous generation of languages, so it is more popular. .Net has many obvious advantages, which can improve the efficiency of developers, reduce bugs, speed up application development and simplify use. IT personnel have kept their due vigilance on .Net, because it is still a new thing after all, and it needs to have a relatively difficult learning curve. But for most organizations, the advantages far outweigh the disadvantages.

Android development engineer

Android engineers refer to technical personnel who are engaged in the application, development and testing of Android mobile application operating systems, games and various Android platform functions. The main target is mobile phone development, including but not limited to developers and optimization personnel of mobile operating systems, mobile games, and other functions of mobile phones. Android engineers are mobile application developers who hope to port their applications to this platform or develop applications on this platform.

With the expansion of the Android platform, there is a shortage of Android talents. In 2011, the demand for mobile development talents was hundreds of thousands, and the talent demand gap in the future will reach one million.

iPhone engineer

iPhone mobile phone software development

Main responsibilities

1. Responsible for the development of software products based on the iPad/iPhone platform;

2. According to the needs of the product department, it can be realized The technical design of the company will complete the development work within the expected time;

3. Analyze the technical direction of the mobile platform and provide suggestions for the company’s mobile platform technology development.

Skills requirements

1, familiar Objective-C, familiar with iPhone;

2, Familiar with object-oriented software design methods and design patterns, with good code programming habits and document writing ability;

3, Familiar with iPhone SDK , Those with mature works and actual project development experience are preferred;

4, are keen on mobile platform development, are interested in new technologies, and have their own understanding and pursuit of technology;

5. Have a good product understanding ability and teamwork spirit, and have strong communication and coordination skills.

iPhone mobile game development

Main responsibilities

1. Develop game products on IOS platform;

Skills requirements

1. Proficient in C or Objective-C language, familiar with IOS operating system;

2. Have a strong interest in the iPad/iPhone development platform, have good development skills, and be familiar with programming specifications;

3, be familiar with the cocos2d engine, or be familiar with other iPhone game engines;

4. Familiar with iPhone SDK, iPhone software works are preferred;

5. Computer-related professional college or above; with good product understanding ability and teamwork spirit, strong communication and coordination skills.

iPhone mobile game planner

Main responsibilities

1. Responsible for the overall structure and planning of android/SNS/ios games;

2. Responsible for games Functional design of scenes, props, levels and other systems;

3. Responsible for planning game rules, gameplay settings, formula design, numerical design and system design;

4, Responsible for basic game data analysis, user research, user behavior and habits.

Skills requirements

1, junior college The above degree, online games/Webgame/mobile games, etc. have more than 5 years of experience, love games and be regarded as a lifelong career;

2, have unique insights into the game market, possess business thinking, and be able to design designs that are in line with the market Rules of the game;

3, mobile phone online games have a clear understanding, and familiar with the android/iphone mobile phone operating habits and user habits;

4, have excellent product planning capabilities and unique Game design concept, familiar with the requirements design specifications of game products;

5. Good user experience and data analysis capabilities to ensure that game rules that conform to user behavior habits can be designed;

6. Have good product understanding ability and teamwork spirit, and have strong communication and coordination skills.

iPhone development front-end designer

< p>Main responsibilities

1. Mobile platform (and iPhone, iTouch) game related art work;

2. iPhone application interface UI design;

3. Responsible for the design of the game title, interface, characters, actions, props, and scenes.

Skills requirements

1, Proficiency Use photoshop software;

2, love animation, comics, games and movies and have unique insights on them;

3, be familiar with HCI (human-computer interaction), and have a good user experience Very good grasp. Able to independently design human-computer interaction methods and page flows, and be able to independently carry out overall operation planning and specification writing;

4. Proficiency in writing JS and Ajax, mastering advanced front-end coding such as asynchronous communication, offline storage, offline application, etc. Technology;

5. Proficiency in front-end development of high-tech mobile terminal devices such as iPhone and iPad, and proficient use of WebKit supported by browsers on different platforms;

6. Good product understanding Ability and teamwork spirit, strong communication and coordination skills.

According to 51job 51job 51job data, software and IT engineers have been at the forefront of the average salary level of many professional positions in China for 10 years. , The average salary of iPhone-based jobs is more than 50% higher than that of traditional software development jobs. In order to attract and retain talents, companies in the mobile internet industry have more equity in addition to providing insurance, vacations, flexible schedules, and high-quality office environments. Option dividends attract high-end job seekers.

Related majors

Graduated from related majors such as information and computing science. Software engineering is not the same as software development. Software engineering is an engineering discipline with more guiding significance. A more apt analogy: compare a piece of software to a bridge, then the software engineer is equivalent to the construction commander, and the average developer is equivalent to the construction worker.

Prospects

With the development of the software industry, the quality control and quality management of software products 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 release, and these tasks must be completed by professional software talents with skilled technology. Software test engineer is such an important role of an enterprise. According to industry analysts, the demand for this type of position is mainly concentrated in the developed coastal cities, of which the demand in Beijing and Shanghai accounted for 33% and 29% respectively. Private enterprises have the largest demand, accounting for 19%, and the demand of wholly foreign-owned European and American enterprises ranks second, accounting for 15%. However, the current situation in 2011 is: on the one hand, the demand for high-quality test engineers in enterprises is increasing. On the other hand, the domestic emphasis on the profession of test engineers is not enough, so many people do not understand what test engineers are engaged in. Work. This makes many IT companies can only screen test engineers by eliminating them in actual work. Therefore, there will be a serious shortage of test engineers in the country in the short term. According to the understanding of the online recruitment of IT talents in 2011, many companies that are hiring software test engineers

are rarely able to successfully recruit suitable talents at job fairs. In the specific work process, the test engineer’s job is to use test tools to perform functional and performance tests on the product in accordance with the test plan and process, and even write different test cases as needed, design and maintain the test system, and perform problems that may arise in the test plan. Analysis and evaluation. For software test engineers, they must have a high degree of work responsibility and self-confidence. Any rigorous test must be a practical 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 the job without professional technical standards. At the same time, because the testing work is generally done by multiple test engineers, and the testing department generally has to communicate more with personnel from other departments, the test engineer is required not only to have strong technical skills but also strong communication skills. .

1. Testers should improve their hierarchical testing thinking. When dividing test points, they should not only consider from the business point of view, but also fully consider the particularity of the data.

2. Testers should also have certain market awareness and risk awareness, and be able to analyze possible risk scenarios in the system from different perspectives.

3. The test leader should make a test plan with small granularity and short cycle; test team members have clear goals and sub-goals for their work. Especially for modules that are cross-tested, testers must have clear responsibilities to ensure that there are no missed test scenarios.

4. Testers must have self-promotion awareness and actively strengthen communication with developers, demanders and customers.

5. Testers should also act as process monitoring points in the project, just like quality management personnel. Can reflect the problems of the project from a global perspective.

6. It is very important to improve test efficiency to make full use of reusable assets; a more important part of reusable assets is the reuse of test cases, so in future tests, you must make full use of reusable test cases to improve The efficiency of writing test cases.

7. "The waste of experience is the biggest waste", testers must sum up in good faith and record their own test experience, so that they can not only improve their own test ideas but also provide colleagues with a systematic learning experience.

Overview

As the world’s most well-known and largest professional academic organization—IEEE, in 2011, the world’s first CSDA software development engineer certification CSDA (Certified Software Development Association) will be issued in the United States, India and China. , CSDA certification training is an international certification program for entry-level software engineers led by IEEE, that is, the "software development engineer certification" program, developed and launched by the IEEE Computer Association. CSDA training and certification does not have any product and application color, but from the whole process of the software engineering life cycle, to teach the general knowledge of software development to the certified personnel. With the foundation of CSDA certification, it is convenient for students to participate in other trainings based on specific product applications.

The model adopted by CSDA is a training-examination-certificate approach. The training syllabus is based on the "Software Engineering Knowledge System Guide" and "Software Engineering 2004: Software Engineering Undergraduate Curriculum Plan Guidance", formulated by the IEEE Computer Association expert group, and the textbooks are professionally written by Holmes. Prometric tests are conducted at various test centers. Once they pass the test, candidates will receive a globally unified certificate issued by IEEE. In view of the brand influence of IEEE for more than 100 years, it is not comparable to that of ordinary corporate brands, and it has signed preferential employment cooperation intentions with many software companies around the world. Therefore, obtaining the CSDA certificate is important for candidates' future employment, promotion, and career development. Etc. are of great help.

Textbook: Professionally written by Prometric (a company specializing in examinations)

Comprehensive "Software Engineering Knowledge System Guide" and "Software Engineering 2004" two books, four modules in English , Divided into four volumes.

Exam: Prometric company set up in various test centers to conduct

Target trainees

1. Junior and senior students of the School of Computer Science and the School of Software

2. Master of Software Engineering, MSE undergraduate

3. Software personnel within 2 years of working experience

4. The major is not computer, but I want to change my major Those who want to work in software

Certification process

Training: About 100 class hours, CSDA lecturer will give a lecture, including two parts of theory and experiment. Course replacement, embedding and other methods can also be adopted.

Exam:

1. Each candidate has an account, through which he can make an appointment with the test center in the relevant area of ​​Prometric, and take the online test.

2. A total of 180 multiple-choice questions, and the test time is 4 hours.

3. The pass rate of students who participated in the training is expected to be 85%, and the pass rate of students who did not participate in the training is less than 40%.

Certificate

A globally unified certificate issued by the IEEE Computer Association, the certificate is valid for 3 years, and you can apply for certification after it expires, or apply for the certification of a senior engineer (CSDP).

Features

1. Authority.

2. Without any product and application color, but the whole process of the software engineering life cycle.

3. Gold content:

(1) IEEE has more than a hundred years of brand influence;

(2) Only in 2008, it has a huge global development Potential;

(3) Recognized by software companies, many domestic and foreign companies have announced that they will give priority to hiring personnel who have passed the CSDA certification.

Mastering skills

In addition to having knowledge of operating systems, mastery of development languages, use of development tools, understanding of TCP/IP network protocols, and proficiency in databases To apply, you must have the courage to explore and innovate, learn new knowledge, and have the following abilities:

1. Requirements analysis ability

For software engineers In terms of understanding requirements, qualified code can be completed, but for R&D project organizations and managers, they not only need to understand customer needs, but more often they have to formulate some requirements by themselves.

2. Project design methods and process processing capabilities

Software development engineers must be able to master no less than two to three project design methods, and be able to According to the project requirements and resource allocation, choose the appropriate design method for the overall design of the project.

3. Reuse design and modular decomposition capabilities

As a software development engineer engaged in module tasks, he needs to be aware of the specific functions he faces Consider the reusability of modules. As a system analyst, the problems he has to face are much more complicated. The overall system needs to be decomposed into many reusable functional modules and functions according to a modular analysis capability. Form an independent design requirement for each module.

4. Overall project evaluation ability

As a system designer, he must be able to proceed from the overall situation and have a clear understanding of the project as a whole, such as the company’s resources Whether the configuration is reasonable and in place, such as whether the project schedule can maximize efficiency without failing to complete on schedule.

5. Team organization and management ability

Completing a project requires the concerted efforts of the team, which can be based on the ability level gaps between programmers, and According to the needs of project research and development, choose a suitable team formation method, and can closely combine responsibilities and rights with the work tasks of the members, so as to maximize the efficiency of team formation.

Related Articles
TOP