Senior Backend Software Development Engineer
Job Responsibilities
1. Lead the full-process development of the underlying software for the active suspension controller, including core tasks such as requirements analysis, architecture design, module development, code writing, and debugging and optimization. Assume primary responsibility for the stability, real-time performance, and security of the underlying software solution.
2. Responsible for the overall management of the embedded software development plan, formulating a detailed embedded software development schedule based on project requirements, clearly defining the development tasks, timelines, and delivery standards for each module, and ensuring that the development work proceeds in an orderly manner.
3. Assume responsibility for progress management of the project’s underlying software component, track development progress in real time, identify technical bottlenecks and schedule risks during the development process, formulate corresponding countermeasures, and ensure their implementation to guarantee that the project progresses according to plan.
4. Responsible for the development and implementation of core modules in the underlying software, including MCU drivers, peripheral drivers (such as sensors, actuators, communication interfaces, etc.), porting and configuration of real-time operating systems (RTOS), interrupt management, and power management.
5. Lead the testing and validation work for the underlying software, develop test plans, complete unit tests and integration tests, analyze test results, and optimize software performance. Collaborate with system testing and vehicle-level testing to resolve any underlying software-related issues that arise during testing.
6. Responsible for preparing and archiving technical documentation related to underlying software, including software requirements specifications, software design documents, test reports, code comments, user manuals, and more.
7. Work with hardware engineers to complete the joint debugging of hardware and software, and provide technical support at the firmware level. Collaborate with the upper-layer application software development team to deliver stable and efficient firmware interfaces.
8. Stay informed about the latest developments in underlying software technologies within the industry, adopt advanced development concepts and technical approaches, and enhance software development efficiency and product quality.
Job Requirements
1. Bachelor’s degree or above in Computer Science and Technology, Electronic Information Engineering, Automation, or a related field; more than 5 years of experience in low-level software development. Priority will be given to candidates with experience in low-level software development for automotive electronics (such as suspension controllers, ECUs, body control units, etc.).
2. Possesses the ability to independently complete the full development process of complex low-level software, is proficient in C programming, familiar with mainstream MCU architectures such as Infineon, and has extensive experience in MCU driver development.
3. Proficient in the porting, configuration, and development of real-time operating systems (such as FreeRTOS, UC/OS, and AUTOSAR OS); familiar with automotive electronic communication protocols (such as CAN, CANoe, and LIN).
4. Possesses project development experience with Party B, with strong capabilities in overall project management and schedule control, able to respond quickly to customer needs and efficiently drive project delivery.
5. Familiar with automotive electronic functional safety standards (ISO 26262); priority will be given to candidates with experience in developing low-level software related to functional safety. Also, familiarity with the operating principles of active suspension controllers and their underlying software requirements is required.
6. Possess solid expertise in computer architecture, operating systems, embedded systems, and other related fields; demonstrate excellent coding style and strong debugging skills.
7. Possesses strong logical thinking skills, as well as the ability to analyze and solve problems. Is meticulous and responsible in work, and has excellent communication and coordination skills and a spirit of teamwork.