Embedded Software Engineer
The Embedded Software Engineer at Confidential Client is responsible for designing and developing embedded software for distributed systems with multiple microcontrollers, focusing on low-level drivers, BSP components, and real-time communication protocols. The role involves RTOS and bare-metal development, system integration, debugging, optimization, and ensuring compliance with industry standards such as MISRA, ASPICE, and ISO26262, while collaborating closely with hardware and validation teams.
About Careertakes
👉 Important disclosure: Careertakes is a third-party recruiting platform supporting this hiring process. If selected, you will be employed directly by our client, Staffing and Recruiting.
Applicants for this role may also receive access to additional matched opportunities through the Careertakes platform.
Role Overview
We are partnering with a Confidential Client to hire an Embedded Software Engineer (mid-level) to develop and optimize low-level firmware for distributed embedded systems. This role focuses on BSP/device drivers, RTOS and bare-metal development, communication stacks, and safety/process compliance for automotive and industrial platforms.
What You’ll Do
- Design, implement, and maintain embedded software for systems using multiple microcontrollers and multicore architectures
- Develop low-level device drivers and Board Support Package (BSP) components
- Implement and optimize communication stacks and protocols: Ethernet, CAN/CAN-FD, UART, SPI, I2C, IPC
- Work on RTOS-based and bare-metal firmware (FreeRTOS / SafeRTOS) and support Linux/QNX integrations
- Perform integration, bench-level debugging, HIL validation, and performance tuning (CPU, memory, power)
- Create and execute unit and integration tests; automate test flows and validation using Python scripting
- Ensure development and deliverables meet MISRA, ASPICE, and ISO 26262 requirements where applicable
- Maintain design artifacts, traceability, and release engineering support; participate in triage and release activities
- Collaborate closely with hardware, V&V, and external vendor teams to resolve hardware-software integration issues
Minimum Qualifications
- Bachelor’s degree in Computer Science, Electrical/Electronics Engineering, or related field
- 5+ years professional experience in embedded software development (device drivers, BSP, RTOS/bare-metal)
- Strong C and C++ programming skills and experience with embedded toolchains and debuggers (e.g., Lauterbach)
- Proven experience with UART, SPI, I2C, CAN/CAN-FD, Ethernet driver development and diagnostics
- Experience with unit testing frameworks (GTest), test automation (Python), and CI/build systems (Bazel or similar)
Preferred / Highly Desirable Skills
- AUTOSAR (BSW, RTE, SWC) and related toolchains (e.g., DaVinci)
- Experience with Linux or QNX system-level integration
- Knowledge of UDS (ISO 14229) and automotive diagnostic flows
- Flash/memory driver development and techniques (wear leveling, garbage collection, page swap)
- Familiarity with safety/process standards: MISRA, ISO 26262, ASPICE
- Experience with multicore, DMA, shared memory concepts and performance tuning
- Experience with JIRA, JAMA, Parasoft, and release engineering practices
Why Join
- Work on complex embedded systems used in automotive and industrial applications
- Collaborate with cross-functional engineering teams and external partners
- Opportunity to influence architecture and bring improvements to firmware development, validation, and release processes
Location & Employment Type
- Location: Michigan (MI), United States
- Employment type: Full-time
Equal Opportunity & Hiring Transparency
Careertakes and our client are Equal Opportunity Employers committed to building a diverse and inclusive workforce. We prohibit discrimination or harassment of any kind. To support a fair and efficient hiring process, AI tools may be used to assist with application review or resume screening. These tools do not replace human decision-making. Final hiring decisions are made by people.
If you have questions about how your data is used, please contact us directly.
Negotiate a higher salary! Check the salary ranges for this job type in your area.
View My Salary Range