Senior Staff Software Engineer, High-Performance Onboard Algorithms
Job Summary
As a Software Engineer in High-Performance Onboard Algorithms you will be a key contributor to the development and optimization of our real-time signal processing pipeline for autonomous driving. You will collaborate with our team of world-renowned scientists and engineers to build innovative practical and scalable solutions that handle massive amounts of sensor data (camera LiDAR radar and others) with low latency and high reliability. We value original high-impact ideas and rigorous experimental validation.
You will
- Be part of a multidisciplinary team of Engineers and Scientists working on building a best-in-class high-performance sensor processing stack.
- Design implement and optimize highly efficient algorithms for sensor data acquisition processing fusion and filtering ensuring real-time performance on target hardware.
- Work on shipping next-generation signal processing software leveraging parallel computing architectures (e.g. CPU GPU specialized accelerators) and low-level system programming.
- Collaborate with Waabis autonomy and hardware teams to ensure the efficiency and robustness of the entire system.
Qualifications:
- Fundamentals of computer architecture. You have a deep understanding of how modern computer systems work (multi-core vector units cache management memory hierarchy networking).
- Data-parallel algorithms. You have experience implementing data-parallel and compute-intensive algorithms in domains such as image/video processing compression and optimizing modern neural networks.
- Heterogeneous computing and systems programming. You are comfortable with balancing workloads across multiple different processors managing the ownership and movement of data buffers and optimizing for overall system performance.
- Performance profiling and optimization. You know how to identify bottlenecks in a complex codebase and make optimization decisions that have lasting impact.
- Shipping Production Software.You have experience in reading and developing production quality software. You write efficient and maintainable code in a native language such as C or Rust (we use Rust and a variety of DSLs).
Bonus:
- Experience with accelerated computing like CUDA Vulkan and OpenCL.
- Experience with domain specific languages such as Halide Taichi Mojo or Warp.
- Experience with CPU intrinsics (SSE/AVX NEON/SVE).
- Experience with embedded systems.
- Shipped production software in one or more of the following areas: image and video processing compression streaming algorithms deep learning geometry processing.
- Publications in top-tier conferences or journals related to high-performance computing image processing computer graphics computer vision machine learning or self-driving technology.
Required Experience:
Staff IC