Zoox is building advanced self-driving hardware and software solutions. To attain the utmost efficiency that the system demands, we need you - an expert who understands both compute hardware architecture as well as the algorithms and middleware that run on it. Your contributions will be instrumental in achieving optimal power levels while maximizing throughput.
The Software Core Performance team’s mission is to analyze, optimize, and provide guidance to the software and hardware teams in order to meet expected system performance targets.
As a performance software engineer within the Software Core Performance team, you will instrument, monitor, analyze, and optimize algorithms that are performance-critical. Your broad experience in developing, debugging, and optimizing software will enable AI software to run as efficiently as possible.
- Build real-time instrumentation for performance monitoring (CPU, GPU, latency, memory) of the online system, and benchmarking frameworks to support offline performance evaluation.
- Build tools and scripts to evaluate and analyze performance at scale in CI, as well as on vehicle. Establish budgets for existing architectures, and provide data to define next-gen architectures.
- Analyze performance metrics in online software to identify resource utilization hotspots and root causes. Propose and co-implement actionable solutions with software component teams.
- Support teams in helping to squeeze out the maximum performance of their code, while minimizing resource contention.
- Work as part of the Core team to build a middleware framework that promotes efficient and performant code development.
- Work cross-functionally to ensure Zoox software runs optimally across the fleet.
- BS in computer science or related field
- 6+ years of professional experience in software development or related fields
- Strong knowledge of C++ and experience in large code bases
- Familiar with CPU system architecture and OS fundamentals
- Comfortable in Linux development environments
- Experience with Git, Bazel, and CI pipelines
- Hands-on experience in development, debugging, and profiling of complex multi-process real time systems like game engines or robot systems)
- Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills
- Experience using various Linux performance monitor tools, such as perf, eBPF, Perfetto
- Kernel and/or driver development experience
- Experience with software & hardware benchmarking and Hardware-in-the-Loop (HIL) systems
- Proficiency with Python or Scala is a plus
- Acquainted with a firm/hard real-time operating system environment
- Proficiency with SQL and data platforms such as DataBricks, Looker, and ETL pipelines
- Experience debugging and optimizing GPU kernels using tools like Nsight Systems and Compute
Zoox is developing the first ground-up, fully autonomous vehicle fleet and the supporting ecosystem required to bring this technology to market. Sitting at the intersection of robotics, machine learning, and design, Zoox aims to provide the next generation of mobility-as-a-service in urban environments. We’re looking for top talent that shares our passion and wants to be part of a fast-moving and highly execution-oriented team.
A Final Note:
You do not need to match every listed expectation to apply for this position. Here at Zoox, we know that diverse perspectives foster the innovation we need to be successful, and we are committed to building a team that encompasses a variety of backgrounds, experiences, and skills.