Python, Rust, C – Firmware Validation Engineer – Drive Systems (All levels)

at Tesla Motors
Published May 19, 2023
Location Palo Alto, CA
Category Default  
Job Type Full-time  

Description

The Role As a Drive Systems validation engineer, you will develop software for test and infrastructure. Create new validation infrastructure and tools, create automated test cases to find issues and verify and validate firmware changes, and be closely involved in evaluation, verifying, validating, and signing off on production customer firmware releases. 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. Responsibilities 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. Requirements 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.