Job Description: Embedded Software EngineerPosition Overview We are seeking an experienced Embedded Software Engineer with strong hands-on experience in Embedded C, MATLAB/Simulink development and modeling, and embedded software testing. The ideal candidate will work at the intersection of embedded software and hardware, developing, debugging, integrating, and validating low-level software for embedded systems. The candidate should have demonstrated experience 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, NVM, and low-level debugging, is strongly preferred. This position requires a hands-on engineer who can work closely with software, hardware, systems, controls, and test teams to identify issues, perform root-cause analysis, and deliver reliable embedded software solutions. Key Responsibilities - Design, develop, debug, integrate, and maintain embedded software using Embedded C for hardware-connected and low-level 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 testing, integration testing, and system-level testing of embedded software. - Develop and execute Hardware-in-the-Loop (HIL) test scenarios and analyze test results. - Perform low-level debugging of embedded software and investigate software, hardware, and integration issues. - Develop, integrate, and troubleshoot software involving CAN and LIN communication protocols. - Support embedded systems involving diagnostics and NVM (Non-Volatile Memory) functionality. - Analyze software and system test failures, perform root-cause analysis, and implement corrective actions. - Collaborate with hardware, systems, controls, software, and test engineers to ensure successful software and hardware integration. - Participate in requirements management, requirements traceability, test planning, defect tracking, and verification/validation activities. - Support software integration, validation, and release activities across embedded system development cycles. - Contribute to the continuous improvement of embedded software development, debugging, and testing processes. Skills Required - Embedded C development - MATLAB/Simulink development and modeling - Embedded software development - Embedded software testing - Unit testing - Integration testing - Low-level embedded software debugging - Software development based on system/software requirements - Algorithm development and implementation Skills Preferred - Hardware/software integration experience - Hardware-in-the-Loop (HIL) testing - Automotive embedded systems - CAN - LIN - Automotive diagnostics - NVM / Non-Volatile Memory - MATLAB/Simulink-based algorithm development - Requirements management and traceability - Embedded test automation - Debugging using embedded/low-level development tools Experience Required 4+ years of hands-on embedded software development experience Strong hands-on experience developing software using Embedded C Hands-on experience with MATLAB/Simulink development, modeling, or algorithm implementation