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