Senior Software Performance Engineer
Foster City, CA, USA
Posted on Friday, January 26, 2024
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 to meet expected system performance targets.
As a performance software engineer within the Software Core Performance team, you will instrument, monitor, analyze, and optimize performance-critical algorithms. 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
- 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 Git, Bazel, and CI pipelines
- Hands-on experience in the development, debugging, and profiling of complex multi-process real-time systems like game engines or robot 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
There are three major components to compensation for this position: salary, Amazon Restricted Stock Units (RSUs), and Zoox Stock Appreciation Rights. The salary range for this position is $211,000 to $300,000. A sign-on bonus may be offered as part of the compensation package. Compensation will vary based on geographic location and level. Leveling, as well as positioning within a level, is determined by a range of factors, including, but not limited to, a candidate's relevant years of experience, domain knowledge, and interview performance. The salary range listed in this posting is representative of the range of levels Zoox is considering for this position.
Zoox also offers a comprehensive package of benefits including paid time off (e.g. sick leave, vacation, bereavement), unpaid time off, Zoox Stock Appreciation Rights, Amazon RSUs, health insurance, long-term care insurance, long-term and short-term disability insurance, and life insurance.
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.
If you need an accommodation to participate in the application or interview process please reach out to firstname.lastname@example.org or your assigned recruiter.
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.