- At a high level, you will validate software features and embedded firmware changes (C) by developing software and hardware infrastructure (Rust and python) and automated test cases (python).
- Gain a deep understanding of the embedded firmware and features, which you use to develop thorough test cases covering both nominal and edge cases.
- Continuously analyze and improve regression test suite coverage.
- Own the validation release process for customer releases, including test strategy scoping, triaging issues and requests, and signing off on production releases.
- Create hardware board level test plans to expose weakness or faults in the Drive Systems Firmware.
- Create and develop automated Software in the Loop (SIL) and Hardware in the Loop (HIL) validation infrastructure to enable reliable, efficient, thorough, accurate, and repeatable tests.
- BS in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
- Proficiency in C and Python.
- Any experience with Rust is a plus but not required
- Knowledge of version control (Git) and continuous integration.
- Excellent verbal and written communication skills to coordinate with the team.
- Knowledge and experience with automation and build tools is a plus (Jenkins, Docker, SCons).
- Ability to read and review electronic circuit schematic is a plus.
Palo Alto, CA - United States of America
Rust Job Details
This role is crucial to releasing high quality software to both our existing customers and for new product development. Creating, maintaining, and scaling highly efficient, effective, and thorough validation systems, both in software- and hardware- in the loop testing, enables us to have high confidence in our releases and changes. Work with firmware, integration, and electrical engineers to thoroughly understand and dig into features and changes, build the required infrastructure, and develop software to validate those changes. You are not just executing test cases on a closed system – you are digging into the actual source code and schematics and creating automated solutions. As we grow our product portfolio that we support from our common firmware code base, automated and robust testing is becoming more and more critical.
The Drive Systems Firmware team is responsible for torque production, ranging from low level embedded drivers to power electronics firmware to high level application logic.