Required Skills & Experience
- Bachelor's degree in Electrical Engineering, Computer Science, or a related field.
- Experience in validating EV battery management software
- Strong debugging skills and the ability to triage nightly regression failures.
- Minimum of 5 years of experience in battery software testing, preferably with embedded systems in the automotive industry.
- Strong programming skills in Python, C/C++ or other relevant languages used in embedded software development and verification.
- Experience with automated testing tools and frameworks such as Pytest, Slash, Jenkins, Robot Framework, or similar.
- Experience with software testing tools, frameworks, and methodologies (e.g., unit testing, integration testing, system testing, automated testing).
Nice to Have Skills & Experience
- Experience with automotive diagnostic tools and testing environments.
- Knowledge of automotive communication protocols (e.g., Classical CAN, CAN-FD, LIN, Ethernet, SPI, I2C).
- Working knowledge of IDLs such as DBC, LDF, ARXML, and work with internally IDLs and frameworks
- Experience with automotive standards and regulations such as ISO 26262.
- Knowledge of sensing and measurement principles, including analog and digital sensors, signal conditioning, and data acquisition techniques.
- Familiarity with hardware-in-the-loop (HIL) and software-in-the-loop (SIL) testing.
- Experience with electrical wiring, circuit building, and troubleshooting, with the ability to read and create basic electrical schematics. Familiarity with continuous integration and continuous delivery (CI/CD) practices.
Job Description
- Create and execute test plans, test cases, and test scripts to validate functional, non-functional, and regression testing for embedded software components.
- Design, develop, and maintain automated test frameworks, scripts, and tools for testing embedded software systems in automotive environments.
- Collaborate with cross-functional teams to: ○ Review requirements for completeness and testability. ○ Analyze and provide feedback on system architecture ○ Derive test scenarios from requirements, use cases and analysis of system design.
- Work collaboratively with the development teams to develop and test in tandem, troubleshoot and resolve bugs and issues, and strive for high quality software and functionality through iteration and automation.
- Participate in code reviews and provide feedback on testability and maintainability. Contribute to the continuous improvement of testing processes, methodologies, and best practices.