Embedded Software Engineer (Embedded C, MATLAB/Simulink)Job Overview We are seeking an experienced Embedded Software Engineer with hands-on expertise in Embedded C, MATLAB/Simulink development and modeling, and embedded software testing. The ideal candidate will develop, debug, integrate, and validate low-level software for embedded systems, working closely with hardware and software components.
The role involves translating system and software requirements into embedded code and algorithms, developing MATLAB/Simulink models, and performing unit, integration, and Hardware-in-the-Loop (HIL) testing. Experience with automotive embedded systems, including CAN, LIN, diagnostics, and non-volatile memory (NVM), is preferred.
Key Responsibilities - Design, develop, debug, integrate, and maintain embedded software using Embedded C for low-level and hardware-connected applications.
- Develop and maintain MATLAB/Simulink models, algorithms, and supporting code based on system and software requirements.
- Translate system, functional, and software requirements into embedded software designs and implementable algorithms.
- Perform unit, integration, and system-level testing of embedded software.
- Develop and execute Hardware-in-the-Loop (HIL) test scenarios and analyze test results.
- Debug embedded software at the low level and investigate software, hardware, and integration issues.
- Develop, integrate, and troubleshoot software involving CAN and LIN communication protocols.
- Support embedded systems involving diagnostics and non-volatile memory (NVM) functionality.
- Analyze software and system test failures, perform root-cause analysis, and implement corrective actions.
- Collaborate with hardware, systems, controls, software, and test engineering teams to ensure successful software and hardware integration.
- Participate in requirements management, requirements traceability, test planning, defect tracking, and verification and validation activities.
- Support software integration, validation, and release activities throughout embedded system development cycles.
- Contribute to continuous improvement of embedded software development, debugging, and testing processes.
Required Qualifications - 4+ years of hands-on embedded software development experience.
- Strong hands-on experience developing software using Embedded C.
- Experience with MATLAB/Simulink development, modeling, or algorithm implementation.
- Demonstrated experience performing unit and integration testing of embedded software.
- Experience debugging embedded software and investigating low-level software issues.
- Experience translating technical and system requirements into software designs, algorithms, and implementation.
- Practical experience with at least one additional programming language or advanced proficiency in a primary programming language.
- 6+ years of overall IT experience consistent with an Engineer 3 level.
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or a related technical discipline.
Preferred Qualifications - Experience developing embedded software for automotive or other hardware-connected systems.
- Hands-on experience with Hardware-in-the-Loop (HIL) testing and hardware/software integration.
- Experience with CAN and LIN communication protocols.
- Experience with automotive diagnostics.
- Experience with non-volatile memory (NVM).
- Experience with embedded system requirements management and requirements traceability.
- Experience designing and implementing algorithms based on system requirements.
- Experience performing low-level debugging and root-cause analysis of embedded software and hardware issues.
- Experience working directly with hardware, controls, systems, and test engineering teams.
- Experience with MATLAB/Simulink-based algorithm development and validation.
- Experience with embedded test automation and low-level development and debugging tools.
- Master's degree in Electrical Engineering, Computer Engineering, Computer Science, Software Engineering, Controls Engineering, or a related technical discipline.
Work Arrangement Hybrid work arrangement requiring four days per week on-site.