Automotive Embedded Software Engineer - BSP/RTOS
Listed on 2026-08-20
-
Software Development
Embedded Software Engineer, Embedded Systems/ Firmware/ IoT, C++ Developer, Software Engineer
Job Opportunity
- Embedded Software Engineer
- Automotive/ BSP/RTOS Location :
Dearborn, MI Client : LTTS Job Summar
yWe are seeking a highly skilled Embedded Software Enginee
r to design, develop, integrate, and debug embedded software for distributed, safety-critical systems involving multiple microcontrollers and scalable computing platforms. The ideal candidate will have strong expertise in C/C++, embedded software, BSP and device-driver development, RTOS/bare-metal programming, AUTOSAR, communication protocols, and low-level system debuggin
g
.The engineer will work closely with hardware, validation, verification, and external engineering teams to develop reliable embedded solutions, perform bench and HIL validation, optimize system performance, and support production releases while ensuring compliance with MISRA, ASPICE, and ISO 2626
2 standards
- sDesign, develop, integrate, and maintain embedded software for distributed systems involving multiple microcontrollers
- .Develop low-level software including Board Support Packages (BSP), device drivers, memory/flash drivers, and hardware abstraction component
s - .Develop and integrate real-time communication interfaces and protocols including UART, SPI, I2C, IPC, CAN/CAN-FD, and Etherne
t - .Develop software for RTOS and bare-metal environment
s, including FreeRTOS and SafeRTOS - .Develop and integrate AUTOSAR BSW, RTE, and SWC component
s using relevant DaVinci tools - .Work with Linux and QN
X embedded platforms and support low-level software integration - .Implement and debug UDS (ISO 14229
) and other automotive communication protocols - .Analyze and resolve complex low-level system issues across hardware, BSP, drivers, middleware, RTOS, and application layers
- .Perform CPU, memory, boot-time, runtime, and power optimizatio
n for embedded platforms - .Work with DMA, multicore processors, shared memory, synchronization, and inter-process communicatio
n concepts - .Develop and maintain flash and memory management functionality, including wear leveling, garbage collection, and page-swap mechanism
s - .Perform unit testing, integration testing, and test automation using Python scriptin
g - .Utilize GTest and Parasof
t for software verification and unit testing - .Perform low-level debugging using Lauterbac
h and other embedded debugging tools - .Support bench-level debugging, system integration, and HIL validation activitie
s - .Participate in defect triage, root-cause analysis, issue resolution, and software release activities
- .Ensure software development follows MISRA, ASPICE, and ISO 2626
2 processes and requirements - .Maintain software design documentation, requirements traceability, architecture documentation, and other engineering artifacts
- .Collaborate with hardware engineers, V&V teams, software architects, system engineers, and external vendors
- .Support build and integration activities using Baze
l and related development infrastructure - .Track requirements, defects, and development activities using JIRA and JAM
A
- sBachelor's degree in Computer Science, Electronics & Communication Engineering, Electrical Engineering, or a related fiel
d - .Strong professional experience in embedded software develop men
t - .Advanced programming skills in C and C++
- .Experience developing software for microcontroller-based and distributed embedded system
s - .Hands-on experience with BSP, device drivers, memory drivers, and low-level embedded softwar
e - .
Experience with
RTOS and/or bare-metal develop men
t - .Strong understanding of embedded communication protocols and interfaces
- .Experience with embedded debugging, integration, and performance optimization
- .
Experience with
Python scriptin
g for testing, automation, or development support
(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).