Ouster

Software Engineer - Test Systems & Automation

Ouster$107K — $150K *
Consumer Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or related field.
  • 3+ years of experience writing production-grade software, preferably in Python.
  • Strong proficiency in Python, including advanced features like decorators and context managers.
  • Experience interfacing with hardware instruments via standard protocols (e.g., SCPI, TCP/IP).
  • Comfortable operating in Linux/Unix environments and using Git for version control.
  • Experience optimizing SQL queries for high-frequency data logging.

Responsibilities

  • Develop Python wrappers to implement hardware abstraction layers for clean software integration.
  • Utilize modern design patterns to ensure test code is modular and maintainable.
  • Write clean, type-hinted Python code and participate in peer reviews.
  • Implement and debug high-volume data pipelines for secure data management.
  • Write fault-tolerant software to handle connectivity disruptions.
  • Analyze execution logs to diagnose software and hardware issues.
  • Automate test sequences using multi-threaded Python concepts to improve efficiency.
  • Create unit tests and mocking frameworks to validate code stability.

Benefits

  • Equity opportunities for employees.
  • Comprehensive health benefits.
  • Flexible work environment options.
Full Job Description
Role Overview

Ouster is seeking a Software Engineer to build, optimize, and maintain our automated production test infrastructure. In this role, you will move beyond basic, linear automation scripting to develop clean, decoupled, and reusable software interfaces that connect our Lidar optical and electrical hardware to our data systems.

We treat manufacturing test infrastructure with the same algorithmic rigor and software standards as core product code. If you are a strong software developer who loves seeing your code interact with physical devices, optimize factory-floor data pipelines, and drive software quality metrics, this role is for you.
Key Responsibilities
Test Software Development & Abstraction
  • Develop Hardware Abstraction Layers: Implement and scale Python-based software wrappers to cleanly separate test sequence logic from lower-level instrument drivers (e.g., power supplies, digital multimeters, spectrometers).
  • Apply Modular Design: Utilize modern software design patterns (e.g., Factory, Strategy, Wrapper) to ensure test code remains flexible, future-proofed, and easy to maintain as instrumentation evolves.
  • Maintain Code Quality: Write clean, readable, and type-hinted Python code. Actively participate in peer code reviews and maintain structured Git-based development workflows.
Data Pipelines & Station Reliability
  • Optimize Data Flow: Implement and debug high-volume data pipelines that package and stream local parametric test data securely into centralized manufacturing databases and execution systems.
  • Build Fault-Tolerant Code: Write defensive software routines, including intelligent retry logic, exception handling, and local data buffering to prevent station downtime during intermittent network or server disruptions.
  • Triage & Troubleshooting: Analyze test station execution logs to systematically diagnose whether a failure on the line stems from a software bug, instrument communication dropout, or a genuine product defect.
Automation & Test Rigor
  • Automate Test Sequences: Develop multi-instrument automated test workflows using concurrent or multi-threaded Python concepts to minimize station cycle times.
  • Software Validation: Write unit tests and implement software mocking frameworks to validate the stability of your test code before deploying updates to a live production line.
Required Skills & Qualifications
  • Education: Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related technical discipline with a strong programming foundation.
  • Professional Experience: 3+ years of experience writing production-grade software (ideally Python) interacting with hardware or processing data streams.
  • Strong Python Foundation: Solid proficiency in core Python, including a clear understanding of decorators, higher-order functions, custom exceptions, and context managers.
  • Instrument Interfacing: Direct experience communicating with hardware instruments using standard protocols like SCPI, PyVISA, Serial (RS-232/485), TCP/IP sockets, or Modbus.
  • DevOps & Infrastructure: Solid day-to-day comfort operating in Linux/Unix environments, utilizing Git for version control, and working with Docker containers.
  • Data Competency: Practical experience writing and optimizing SQL queries (e.g., PostgreSQL, SQLite, or MariaDB) to handle high-frequency logging.
Preferred Qualifications
  • Familiarity with Test-Driven Development (TDD) or building software simulations/digital twins for hardware components.
  • Basic understanding of optical components, cameras, laser safety, or computer vision libraries (OpenCV).
  • Experience supporting manufacturing lines or hardware prototyping cycles in electronics, automotive, or robotics industries

The base pay will be dependent on your skills, work experience, location, and qualifications. This role may also be eligible for equity & benefits. ($107,000 - $150,000)

We acknowledge the confidence gap at Ouster. You do not need to meet all of these requirements to be the ideal candidate for this role.

About Ouster

Ouster is a technology company that develops and manufactures digital lidar sensors for industrial automation, smart infrastructure, robotics, and automotive applications. The company's sensors use digital lidar technology to generate high-resolution 3D maps of the environment, enabling machines to see and understand the world around them. Ouster's sensors are designed to be compact, lightweight, and affordable, making them accessible to a wide range of industries and applications. The company was founded in 2015 and is headquartered in Palo Alto, California.
Learn more about Ouster
Size
300 employees
Market Cap
$163.9 million
Industry
Founded
2016
NASDAQ

Similar Jobs

More Jobs at Ouster

More Consumer Technology Jobs

Find similar Software Engineer - Test Systems & Automation jobs: