Senior Embedded Software Engineer

 

Job Description

 

1.       Control system design and implementation:
I. Be responsible for the design of the entire control system. Based on the concept of timeline, it provides high flexibility to support testing and expansion in the early stage of development.
II. Develop and optimize applications under the real-time operating system (RTOS), design and implement robot motion control algorithms to improve motion performance and stability.

2.       Software and hardware integration and communication development:
I. Cooperate with the hardware team to complete the integration and debugging of embedded software and hardware components (such as sensors and actuators) to ensure that the software fully utilizes hardware performance.
II. Implement and optimize various communication interfaces and protocols (UART, SPI, I2C, CAN, Ethernet, etc.) to improve communication efficiency and reliability.

3.       ROS node development and sensor data processing:
I. Write and maintain ROS nodes for related functions to realize the functional modules of the robot system.
II. Be responsible for the acquisition, processing and fusion of sensor data to enhance the robot's environmental perception ability.

4.       Equipment stability, upgrade and log management:
I. Implement the OTA (Over-the-Air) update mechanism and self-check function of the equipment to ensure long-term stable operation and seamless upgrade.
II. Design and implement a log management system, regularly upload archived logs to the cloud to ensure the integrity and security of logs, and support remote monitoring and fault diagnosis.

5.       AI model deployment and environment configuration:
I. Cooperate with the AI team to complete the deployment of the model, including model compilation and configuration of the embedded environment to ensure efficient operation of the model on the device.

6.       System security and compliance design:
I. Design and implement the security features of the system to prevent unauthorized access and operations and ensure that the software complies with relevant security standards and compliance requirements.

7.       Debugging, testing and document writing:
I. Use debugging tools for system-level troubleshooting and performance optimization.
II. Formulate and execute test plans, conduct unit tests, integration tests and system tests to ensure software quality.
III. Write and maintain technical documents, including design documents, user manuals and maintenance manuals to ensure team collaboration and subsequent maintenance.
Job Requirements

 

Job Requirements:

 

1.       Bachelor's degree or above in computer science, electronic engineering, automation or related majors.

2.       At least 3 years of experience in embedded software development. Those with experience in developing high-complexity control systems are preferred.

3.       Proficient in C/C++ programming language and have good coding norms and programming styles.

4.       Familiar with embedded operating systems (such as RTOS, Linux) and development environments, and have experience in real-time system development.

5.       Have experience in ROS system development and be able to independently write and maintain ROS nodes.

6.       Have hardware driver development experience, be familiar with software and hardware co-design, and be able to integrate and debug sensors and actuators.

7.       Be familiar with communication protocols and interfaces and have the ability to optimize communication efficiency and reliability.

8.       Be familiar with the implementation of equipment OTA update mechanism, self-check function and log management, and have experience in long-term stability design.

9.       Understand the AI model deployment process and have experience in model compilation and embedded environment configuration.

10.       Have system security design experience and understand the safety standards and compliance requirements in the field of robotics.

11.       Proficient in using debugging tools and test equipment and have the ability to troubleshoot and optimize performance.

12.       Have good document writing ability and be able to write and maintain high-quality technical documents.

13.       Have excellent teamwork spirit and communication skills and be able to effectively collaborate with cross-departmental teams.