Ouster is looking for a Staff Software Engineer in Test to architect and own the automated test framework for their cutting-edge lidar sensor software interface. The successful candidate will work in close collaboration with the Design engineering team to integrate testing early and often in the development lifecycle, guaranteeing world-class quality and reliability of perception systems.
Requirements
- Expert Communicator: Articulate issues in a concise manner to technical and non-technical teams across the organization.
- Framework Architecture & Development: Design, develop, and maintain a scalable and modular automated test framework from the ground up using modern practices in Python.
- Test Case Implementation: Write clean, efficient, and maintainable automated tests that validate the functionality, performance, and stability of the lidar sensor's software interface, APIs, and communication protocols (TCP/UDP).
- CI/CD Integration: Integrate the automated test suites into our CI/CD pipelines (e.g., GitLab CI, Jenkins) to enable continuous testing and provide rapid feedback to the development teams.
- Hardware-in-the-Loop (HIL) Testing: Develop and manage HIL test setups to validate software behavior with physical lidar sensors, ensuring seamless hardware-software interaction.
- Black-Box Type Testing: Develop and run functional, non-functional, and regression tests to verify that the hardware and software work according to the requirements and are performant, stable, and always improving.
- Data Analysis & Reporting: Create tools and dashboards to automatically analyze test results, visualize sensor output data (like point clouds), and clearly communicate quality metrics to stakeholders.
- Cross-Functional Collaboration: Act as the quality advocate within engineering. Work closely with software, firmware, and systems engineers to understand new features, identify potential risks, and design effective test strategies.
- Root Cause Analysis: Investigate, debug, and document failures, and work with developers to ensure resolutions are timely and effective. Quickly differentiate test setup issues and deeper engineering issues.
Benefits