Job Recruitment Website - Recruitment portal - What knowledge and skills do you need to be an excellent senior electronic engineer?

What knowledge and skills do you need to be an excellent senior electronic engineer?

Knowledge and skills required to be an excellent senior electronic engineer:

Senior electronic engineers are generally divided into senior hardware engineers and senior software engineers.

Hardware and software are inseparable. Hardware requires software to execute its program to achieve specific functions.

Software requires hardware as a carrier.

Knowledge and skills required by senior hardware engineers:

1. Skill summary:

Design, development, debugging, maintenance, and management meet functional and performance requirements hardware products.

2. Skills required by senior hardware engineers:

Complete hardware products that meet functional performance requirements and quality standards as planned;

According to the product detailed design report , complete the logic design that meets the functional and performance requirements;

Design detailed schematics and PCB diagrams according to the logic design instructions;

Write debugging programs to test or assist in testing the developed hardware Equipment to ensure its normal operation according to design requirements;

Write project documents, quality records and other relevant documents;

Maintain and manage or assist in the management of the developed hardware.

3. Senior hardware engineers must have knowledge in communications, electronic engineering, automation, computers and related majors, with a bachelor degree or above.

More than 4 years of relevant work experience,

More than 2 years of experience in hardware technology development.

Proficient in hardware development skills, master relevant professional knowledge and business processes in the industry;

Familiar with common tools and software for hardware development;

Have good programming style and documentation Habits;

Have good English reading skills and be able to read English test materials.

Knowledge and skills required by senior software engineers:

1. Senior software engineers have knowledge

More than three years of software development experience;

Have a solid foundation in computer software, be familiar with assembly language and data structures, and have a good understanding of software engineering;

Be familiar with common development languages ??such as .NET/Java/C++/VB/Delphi Any one; have development experience in databases such as Oracle, SQL-SERVER or DB2, and be familiar with SQL language;

Have good communication skills, strong analysis, problem solving, comprehension, induction and logical reasoning Ability to write development documents;

Have good planning, team spirit, able to withstand work pressure and be enthusiastic.

2. Skills possessed by senior software engineers

In many domestic software companies, if you are a "senior software engineer", then from requirements analysis, design, development, testing, Even the entire customer service may be handled by one person.

(1) Software development and testing

First of all, software development is a basic part of the software engineer's responsibilities, and there should be no problem with this. Secondly, the software testing here can be divided into driver testing before development and white box testing during the development process. Driver testing is used to analyze the internal logic of subsystems/modules, and is used to expose most of the problems that may be encountered during the development process and further divide the subsystems/modules before development; white box testing is to ensure that before the project is handed over to the test When in the hands of the team, it meets basic project requirements and is capable of alpha testing.

(2) Subsystem/module analysis and design

After the software architect completes the system design and the project manager divides the work, the project officially enters the development stage. At this time, each software engineer will get the subsystem/module that he is responsible for. The first thing to do is to analyze and design, and the second is to develop. Analysis and design before development can help to grasp the subsystem as a whole and isolate the changing points and problems in the subsystem in advance. At the same time, the subsystem can also be divided into more details to formulate personal work plans and communicate with the project manager. Communicate specifically with software architects.

(3) Writing documents

While designing subsystems and modules, it is necessary to write subsystem design instructions; during the development process, it is necessary to record technical points and problems discovered, At the same time, if necessary, the subsystem design specification must be modified; during white-box testing, every bug must be recorded.

(4) Regular and proactive communication

During the project development process, the project manager needs to communicate the task progress with everyone in the team. His main responsibility is to grasp and control the overall situation Project progress. As a member of the team, senior software engineers are usually responsible for very important subsystems/modules in the project, and these subsystems/modules can often determine the success or failure of the project. Therefore, it is very important to actively communicate with project managers on a regular basis to solve problems encountered, and to communicate with architects and experts to solve technical problems. In addition, for individuals, regular proactive communication often manifests as personal initiative, which is very beneficial to personal long-term development.

(5) Continuous learning

Some people may think that learning should have nothing to do with responsibilities. In a narrow sense, this is indeed the case. However, constantly learning new knowledge and improving personal skills can improve work efficiency for the company; and for individuals, it is beneficial to career development. Therefore, after work, no matter what your position is, continuous learning is very important and necessary.

(6) Leading newcomers

This may not be a mandatory requirement, but the master-disciple habit of foreign masters leading novices should also be learned and carried forward. Usually, newcomers will work together with senior software engineers, so on the one hand, leading newcomers can give them the opportunity to re-examine their own knowledge; on the other hand, it can allow newcomers to get started faster, reduce learning costs and improve work efficiency; at the same time, it can Maintain good interpersonal relationships.