Sr. Staff Power Electronic Software Engineer
Role details
Job location
Tech stack
Job description
Our team develops firmware and controls for a diverse array of power conversion systems, encompassing both vehicle and energy products, such as DC fast chargers, residential bidirectional chargers, and onboard power electronics systems. The ideal candidate will be responsible for the full software development lifecycle for power electronics and support ECUs, from specification and design to implementation and testing. This will require proficiency in a variety of embedded architectures, from bare metal to RTOS implementations, as well as a deep understanding of modern multi-core 32-bit embedded controller peripherals and architecture.
- Specification, design, implementation, and testing of both bare metal and RTOS low-level software for power electronics applications
- Work with/resolve ambiguity in requirements/specifications/designs
- Design and specify interfaces between application software and firmware
- Design, develop, implement, and test multicore interfaces and applications
- Develop multicore, timing critical software architectures
- Create elegant, efficient real time software components and interfaces
- Develop software component testing methodologies and implementations to ensure maturity/stability/release readiness
- Work with hardware and debuggers at a bench and HIL level to verify software operation
- Design ISO26262 compliant software
- Document requirements, software design and test procedures and results
Requirements
Do you have experience in Version control?, Do you have a Bachelor's degree?, * At least a bachelor's degree in computer engineering, electrical engineering or computer science. Master's degree preferred
- 13+ years of software development experience with real-time embedded C systems
- Fluency in state-of-the-art embedded software practices using the C programming language
- Proficiency in version control software processes and techniques (GitFlow, GitLab)
- Ability to write testing scripts for using scripting languages (Python)
- Knowledge of software build procedures and the ability to maintain build scripts (SCons preferred, CMake, Makefile)
- Strong background in real-time software component design and testing