Embedded Software Engineer
General Motorsabout 1 year ago
Milford, Michigan, United States
Hybrid
Full-time
Junior Level (1-3 years)
Job Description
Position Overview
Work Arrangement: Hybrid – The successful candidate is expected to report to Milford, Michigan or Pontiac, Michigan at least three times per week.
In-House HWIO (Hardware Input/Output) Team is part of the Mechatronics Software Platform organization driving GM’s Software Defined Vehicle (SDV) strategy. We are seeking a skilled Senior Embedded Software Developer who will design, develop, implement, and test low-level HWIO software for various microcontrollers. This role involves creating robust software solutions in compliance with GM’s coding standards while collaborating with cross-functional teams.
Key Responsibilities
- Design, develop, and test low-level embedded software for functionalities such as RTOS, Memory, Fault Detection, Power Management, LIN, DMA, PWM, Discrete I/O, and Analog I/O.
- Utilize MCAL configuration tools or hand-code software solutions.
- Define and execute testing strategies to verify compliance with technical requirements.
- Perform independent code reviews and provide constructive feedback.
- Collaborate with teams across hardware, calibration, and requirements groups.
- Troubleshoot and resolve complex issues with strong analytical skills.
- Document designs, test cases, and results thoroughly.
Required Qualifications
- Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, or a related field.
- 2+ years of experience in embedded software development (Embedded C).
- Experience designing, developing, and testing Microcontroller & ECU Abstraction Layer and complex drivers for AUTOSAR.
- Hands-on experience with microcontrollers (ARM, PowerPC, Renesas).
- Experience with Real-Time Operating Systems (RTOS) for multi-core microcontrollers.
- Strong understanding of schematics and basic electrical circuits.
- Experience performing root cause analysis with Integrated Basic Software and Application Software on multi-core microcontrollers.
- Proficiency with embedded compilers, linkers, debugging tools, and lab equipment (e.g., Lauterbach, ETAS INCA, CANalyzer, oscilloscopes).
- Ability to work independently under tight schedules with excellent communication and interpersonal skills.
Preferred Qualifications
- Master’s degree in Computer Engineering, Computer Science, Electrical Engineering, or a related field.
- 5+ years of experience in automotive embedded software development.
- Low-level software experience with cores such as ARM Cortex-R52, ARM Cortex-M7, NXP S32Kxx micro, and Renesas RH850 micro.
- Experience with agile processes.
- Knowledge of vehicle electrical systems.
Benefits & Perks
- GM offers a variety of health and wellbeing benefit programs including medical, dental, and vision coverage, along with flexible spending options like Health Savings and Flexible Spending Accounts.
- Retirement savings plan, sickness and accident benefits, and life insurance.
- Paid vacation & holidays, tuition assistance programs, an employee assistance program, and GM vehicle discounts.
- This job may also be eligible for relocation benefits.
Required Skills
Hardware I/O (LIN, PWM, DMA, etc.)
Documentation
Real-Time Operating Systems (RTOS)
Embedded C
Code Reviews
Debugging Tools (Lauterbach, ETAS INCA, CANalyzer)
Testing Strategy Development
Microcontroller Development (ARM, PowerPC, Renesas)
Embedded Compiler and Linker
Electrical Schematics Understanding
Low-Level Driver Development
Root Cause Analysis
Agile Methodologies
AUTOSAR MCAL