Embedded Software Engineer
Job Description
Embedded Software Engineer role focused on body controls software architecture, integration, validation, and functional safety.
- Location: Palo Alto, CA (onsite)
- Pay: USD 55 - 60 per hour
- Schedule: 40.0 hours/week
- Experience: 10+ years
Responsibilities
- Evolve body controls software architecture, creating solutions and defining hardware/software interfaces
- Lead early-stage hardware and software integration, validating system performance against requirements
- Convert high-level vehicle objectives into software specifications for body control systems
- Use field data to refine and optimize body control system performance
- Partner with validation teams to design test strategies for body control functionality
- Diagnose and resolve complex hardware/software interactions across the product lifecycle
- Evaluate design changes and determine impacts across hardware and software components
- Support functional safety using DFMEA and HARA for body control systems
- Advise cross-functional teams and guide technical decisions across electrical, software, manufacturing, and mechanical areas
- Enable cross-domain alignment by clarifying system interdependencies to support seamless vehicle integration
Requirements
- Technical degree in a relevant field (e.g., Mechatronics, Electrical Engineering, Computer Engineering, Systems Engineering)
- C/C++ proficiency and scripting familiarity (e.g., Python)
- Strong problem-solving in complex, networked embedded systems
- Ability to interpret data to optimize system performance
- Knowledge of hardware/software development lifecycles
- Proven experience leading collaborative engineering projects
- Solid understanding of electrical engineering principles and mechatronic systems
- Experience with CAN and/or LIN communication protocols and associated tools
- Knowledge of DFMEA, HARA, and fault tree analysis methodologies
- State machine diagram creation capability
- Create and draw a state machine diagram based on a provided scenario
- They will do a state machine diagram on Glider and then with KCS
- Ability to visually construct a state machine is required
Technologies
- C/C++, Python
- CAN, LIN
- QNX, Android
- UART, SPI, I2C
- ISO 26262, ASIL-D
Applicable Skills
- 10+ years embedded software and systems engineering experience with C/C++ and Python across automotive and safety-critical platforms
- Automotive background from General Motors; experience supporting QNX and Android vehicle platforms
- Hands-on vehicle networking and embedded diagnostics including CAN, LIN, ECU/ECM, UART, SPI, and I2C
- Functional safety experience including ISO 26262 and ASIL-D
- Experience translating system requirements into test, validation, and observability approaches, including support for OTA software releases and cross-functional teams
- Debugging and troubleshooting across hardware/software domains, including root-cause analysis and field-data-driven optimization
Preferred
- Broad body control experience (doors, trunk, frunk, windows, seating, lighting, mirrors, wipers, heaters, steering wheel controls, and other actuators and sensors)
- Experience with vehicle software organizations and cross-functional collaboration
- Experience driving body controls functionality and performance across the product lifecycle
- Experience with electric vehicle systems and architectures
- Interest in automotive technology and shaping vehicle experiences