中文English
无线充调试pcbichaiyang 2024-05-12 5:01 37
Senior electronics engineers are generally divided into senior hardware engineers and senior software engineers. Hardware and software are inseparable, and hardware needs software...

What knowledge and skills do you need to be a good senior electronics engineer?

Senior electronics engineers are generally divided into senior hardware engineers and senior software engineers. Hardware and software are inseparable, and hardware needs software to execute its program to achieve specific functions. Software needs hardware as a carrier.

Knowledge and skills required for senior hardware engineers:

1. Summary of skills:

Design, develop, debug, maintain and manage hardware products that meet functional and performance requirements.

2. Skills required for senior hardware engineers:

Complete hardware products that meet functional performance requirements and quality standards according to the plan;

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

Design detailed schematic diagram and PCB diagram according to logic design specification;

Write debugging programs, test or assist in testing developed hardware devices to ensure that they operate properly as designed;

Prepare project documentation, quality records and other related documents;

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

3. Senior hardware engineers have knowledge

Bachelor degree or above in communication, Electronic engineering, automation, computer or related field.

At least 4 years relevant working experience,

At least 2 years working experience in hardware technology development.

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

Familiar with hardware development tools and software;

Good programming style, documentation habits;

Good English reading ability, able to read English test materials.

Knowledge and skills required for senior software engineers:

1. Senior software engineers have knowledge

At least 3 years experience in software development;

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

Familiar with.NET\/Java\/C \/VB\/Delphi and other common development language of any one; Experience in database development such as Oracle, SQL-Server or DB2, familiar with SQL language;

Have good communication skills, strong analysis, problem solving, understanding, induction and logical reasoning ability and write development documents;

Good planning, team player, able to work under pressure and full of enthusiasm.

2. Skills of senior software engineers

In many domestic software companies at present, if you are a \"senior software engineer\

(1) Software development and testing

First, there should be no problem that software development is a fundamental part of a software engineer's job description. Secondly, software testing here can be divided into driver testing before development and white box testing during development. Driver testing is used to analyze the internal logic of the subsystem\/module, to expose most of the problems that may be encountered during the development process and to further divide the sub-system\/module before development; White box testing ensures that when the project is handed over to the testing team, the basic project requirement is met, that is, the ability to perform alpha testing.

(2) Subsystem\/module analysis and design

After the software architect has completed the system design and the project manager has carried out the project division, the project officially enters the development phase. At this time, each software engineer will get the subsystem\/module that he is responsible for, and the first thing to do is to analyze and design, followed by development. The analysis and design before the development is convenient to grasp the sub-system as a whole and isolate the change points and problems in the subsystem in advance. At the same time, the sub-system can be divided in more detail for making personal work plans and communicating with the project manager and software architect.

(3) Write documents

In the subsystem and module design at the same time, to write the subsystem design specification; During the development process, the technical points and problems found should be recorded, and the subsystem design specification should be modified if necessary. In white box testing, record each Bug.

(4) Regular active communication

In the process of project development, the project manager needs to communicate the task progress with everyone in the team, and its main responsibility is to grasp and control the progress of the project as a whole. The senior software engineer who is part of the team is usually responsible for the subsystems\/modules that are important to the project, and these subsystems\/modules often determine the success or failure of the project. Therefore, it is important to regularly and proactively communicate with project managers to solve problems encountered, and communicate with architects and experts to solve technical problems. In addition, as far as individuals are concerned, regular active communication is often manifested 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 duty, and this is true in the narrow sense. However, constantly learning new knowledge and improving personal skills can improve work efficiency for the company; Personally, it's good for your career. Therefore, it is important and necessary to keep learning outside of work, no matter what your position is.

(6) Bring new people

This may not be a mandatory requirement, but there are foreign masters to lead the novice such a mentoring habit, should also learn and carry forward. Usually the new person will work with senior software engineers, so on the one hand, the new person can have the opportunity to review their knowledge; On the other hand, it can enable new people to start faster, reduce learning costs and improve work efficiency; And maintain good relationships.