Software Engineer, Embedded Systems/ Firmware/ IoT, Embedded Software Engineer
Listed on 2026-10-16
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, Software Testing, C++ Developer
Dearborn, Michigan Software Engineer #1066139
Position DescriptionWe 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. Supplier Screening Guidance:
Please prioritize candidates with substantial hands‑on embedded software development, Embedded C, MATLAB/Simulink, and embedded testing experience. Candidates whose background is primarily general software development, web/application development, or software testing without embedded development experience should not be submitted.
- 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 continuous improvement of embedded software development, debugging, and testing processes
- 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
- 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
- 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.
- Demonstrated experience performing unit and…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).