About Rivian
Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.
As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.
Role Summary
We are seeking a skilled and motivated Python Automation Lead to join our dynamic team.
In this role, you will be responsible for designing, implementing, and validating test scripts for UDS on CAN, LIN, and/or DOIP diagnostics using Python. Your primary focus will be on ensuring the quality and functionality of vehicle software updates that are regularly deployed on our labcars systems. You will work closely with various engineering teams to drive the quality of hardware and firmware designs throughout their lifecycle.
Responsibilities
Architecture Understanding
- Gain a deep understanding of vehicle-level architecture and downstream sub-systems.
- Possess a clear comprehension of UDS diagnostics and fault injection principles.
- Demonstrate knowledge of CAN/LIN protocols, and familiarity with vehicle ethernet is a plus.
- Translate system exploration ("poking") into test cases and requirements support.
Automated Test Development
- Develop software and systems for automated test frameworks to validate vehicle systems. Create test cases and sequence diagrams based on requirements. Utilize CAN/LIN test devices (e.g., PEAK, Vector) to verify written test cases on labcars and/or vehicles.
- Hands-on debugging experience with embedded system issues (both hardware and software).
- Contribute to the development and maintenance of automated testing solutions.
Requirement Mapping
- Leverage requirements, user stories, use cases, and theory of operation to derive comprehensive test cases for system-level tests.
- Identify and formulate test cases that align with fundamental E/E principles and unique product use cases and designs.
- Collaborate with design engineers and feature owners to meet assigned task deadlines based on milestones.
Collaboration and Support
- Work collaboratively with design and development engineers to fulfill testing needs across all levels.
- Coordinate efforts with cross-functional teams to ensure timely completion of tasks.
Continuous Improvement
- Proactively seek opportunities for enhancing test methodologies, processes, and tools.
- Stay updated with industry trends and advancements in diagnostic testing and automation.
Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Science, or related field.
- Proven experience in designing, implementing, and validating test scripts for UDS and/or DOIP diagnostics using Python.
- Solid understanding of vehicle-level architecture, UDS diagnostics, and fault injection principles.
- Familiarity with CAN/LIN protocols; knowledge of vehicle ethernet is a plus.
- Experience with test devices such as PEAK, Vector, or similar tools for CAN/LIN testing.
- Proficient in debugging embedded system issues (hardware and software).
- Prior experience in developing and supporting automated testing frameworks.
- Strong ability to write Python code from scratch and modify existing test scripts.
- Excellent analytical and problem-solving skills.Strong communication and collaboration skills.
- Self-motivated with a demonstrated ability to work independently and within a team.