Embedded Software Engineer

Full-time/Contract
On-site
$45-50/hr
Dearborn, MI

Job description

Job Description & Skill Requirement:

Key Responsibilities
•                Design and develop embedded software for distributed systems involving multiple microcontrollers
•                Implement low-level drivers and Board Support Package (BSP) components
•                Develop real-time Ethernet and communication protocols (UART, SPI, IPC, I2C)
•                Work on RTOS / bare-metal software development for scalable platforms
•                Perform integration, debugging, and optimization (CPU, memory, power)
•                Analyse and resolve low-level system issues across embedded layers
•                Conduct unit testing, integration testing, and automation using Python scripting
•                Ensure compliance with MISRA, ASPICE, and ISO26262 standards
•                Maintain design documentation, traceability, and architecture artifacts
•                Collaborate with hardware teams, V&V teams, and external vendors
•                Provide bench-level debugging and HIL validation support
•                Lead/participate in triaging sessions and release activities
Qualification:
•                Bachelor's degree in Computer Science / Electronics & Communication Engineering
Skills to look for:
•                C / C++ Programming
•                Python Scripting
•                Embedded Software Development
•                BSP & Device Driver Development
•                AUTOSAR (BSW, RTE, SWC, Davinci tools)
•                RTOS (FreeRTOS / SafeRTOS)
•                Linux / QNX Systems
•                ⁠UART, SPI, I2C, IPC communication
•                CAN / CAN-FD
•                Ethernet Drivers
•                UDS Protocol (ISO 14229)
•                DMA, Multicore & Shared Memory concepts
•                ⁠Lauterbach Debugging Tool
•                GTest, Parasoft (Unit Testing)
•                Bazel Build System
•                JIRA, JAMA
•                ⁠Flash / Memory Driver Development
•                Wear leveling, Garbage collection, Page swap
•                Boot-time & Runtime Optimization
•                Low-level debugging across software stack

More information

Minimum education level

Bachelor's

Experience level

Senior (5-7 years)

Job skills

C/C++ Programming

Embedded Systems Design

Real-Time Operating Systems

Microcontroller Programming

Debugging Techniques

Hardware-Software Integration

Firmware Development

Company overview

company-logo
Equitas IT INC