Remote job
Software engineer
Job details
About this role
Role overview Develop embedded software for electric vehicle control, battery management, and power conversion systems. The role spans firmware architecture, real-time behavior, communications, fault handling, and testing, with close integration across software, hardware, systems, and quality engineering.
Responsibilities - Implement and debug embedded software in C and C++ for vehicle and power systems. - Contribute to firmware architecture and communication protocol design. - Build real-time software and tune task scheduling for time-critical control functions. - Implement CAN, Ethernet, and SPI communications between embedded components. - Develop diagnostics, error handling, and fail-safe behavior. - Plan and run simulation, hardware-in-the-loop, and vehicle tests; document specifications, results, and compliance information. - Integrate software with vehicle platforms alongside hardware, systems, and QA engineers.
Requirements - Bachelor’s or master’s degree in electrical engineering, computer engineering, or a related field. - Demonstrated embedded software experience in automotive or other real-time systems. - Proficiency in C/C++ and embedded development tools. - Understanding of RTOS concepts, software architecture, and communications protocols. - Hands-on experience with ARM processors and their development tools. - Ability to debug circuit boards using oscilloscopes, logic analyzers, and JTAG debuggers.
Benefits and work setup - Full-time position based in Fremont, California; remote work may be considered. - Medical, dental, and vision coverage, a 401(k), stock options, and company events are listed.