Simulation Software Test Engineer - Autonomous Vehicles at Outrider
Outrider, the pioneer in autonomous yard operations for logistics hubs, helps large enterprises improve safety, increase efficiency, and optimize their workforce. The only company exclusively focused on automating all aspects of yard operations, Outrider eliminates manual tasks that are hazardous and repetitive. Outrider’s mission is to drive the rapid adoption of sustainable freight transportation by deploying zero-emission systems. Outrider is a private company backed by NEA, 8VC, and other top-tier investors.
The Simulation Software Test Engineer - Autonomous Vehicles will report to the Director of Test Engineering and will be responsible for developing comprehensive simulation software testing environments, developing test cases to run in those environments, and executing those tests.
The simulation team enables Outrider to simulate and analyze vehicle movements and behavior. We can build new environments and situations from scratch, or we can play back, modify, and build upon real-world data. Our work is used by the self-driving software team, the integration and validation team, and others, helping engineers rapidly tune and test the system.
This position plays an essential role in helping deliver a safety-critical system for industrial automation. The opportunity offers a very talented software engineer the chance to help develop a market-defining enterprise product that combines autonomous vehicle technology with a software-as-a-service (SaaS) business model.
The ideal candidate will embrace our goal to drive zero-emission, self-driving vehicle adoption, and help us realize our potential to define, build, and lead a new, category of robotic automation for the enterprise.
Duties and responsibilities
- Design simulated agents that interact realistically with the vehicle system
- Seamlessly integrate logged data replay and simulated agents
- Quantify the performance and safety characteristics of the vehicle system
- Build reliable and scalable infrastructure services that make it easy to use simulation effectively for test cases as well as customer operating environments
- Enable software- and hardware-in-the-loop simulation for improved fidelity
- Automate or streamline manual triage of fault data that is currently performed by software developers
- Generate simulations that target specific challenges
- Automatically run interesting missions in simulation and verify expected results
- Accelerate onboard software development with improved tools and visualization
- Generate, organize, manage, and conduct system verification tests and test procedures to validate compliance with specifications before releasing vehicles and software deliveries to customers
- Review bug reports, track bugs to a subsystem, identify corner cases, and work within the team to propose fixes
- Execute test plans and procedures, as well as document and report results to internal and external customers
- Experience with the simulation of mobile robots or robot arms
- Ability to develop custom simulation plugins capable of producing close-to-real-world behaviors for sensors, actuators, and both kinematic and dynamic articulated vehicle models
- Knowledge of numerical methods employed in simulation engines (e.g. collision detection techniques, integration methods, LCPs, and constraint enforcement/stabilization)
- Intuition for how simulations should be designed to optimize engineering effort, ability to simulate specific phenomena of interest, and physical realism
- Experience with the software development life cycle, modern software/hardware/system testing methods, and continuous integration
- Experience with C++ and Python
- Comfort navigating a large codebase
- Comfort with Linux and command-line interface
- BS or MS in Computer Science or a similar discipline
- Excellent written and verbal communication skills
- Exceptional analytical skills
- Sterling references
- ROS and Gazebo development experience
- Experience with or an interest in autonomous vehicle simulation
- Experience with robotics software engineering, autonomous vehicle systems, computer vision, machine learning, and/or planning and controls