Senior Software Engineer - Applied Research in Robotics
NVIDIA
NVIDIA
Join NVIDIA, a leader in accelerated computing, and contribute to the future of robotics. We are seeking a Senior Software Engineer to spearhead research and development of robotics solutions leveraging NVIDIA's Programmable Vision Accelerator (PVA). This role offers a unique opportunity to work at the forefront of robotics innovation, enhancing performance across NVIDIA's diverse platforms.
Your expertise will be crucial in optimizing robotics workloads for the PVA, a specialized processor designed for power efficiency and deterministic performance. You will engage with cutting-edge technologies in robotics systems, sensor integration, heterogeneous computing, and algorithm acceleration, directly impacting the latency, power, and throughput of real-time robotics applications.
Research and analyze complex robotics software stacks to identify and prioritize critical workloads for PVA acceleration. Design, implement, and rigorously test PVA operators, integrating them seamlessly into comprehensive robotics pipelines. Develop innovative strategies for parallel processing and data movement to efficiently map robotics algorithms onto the PVA. Collaborate across various domains, including cameras, RADAR, LiDAR, IMU, perception, planning, and actuators, to understand detailed algorithmic and system-level requirements. Build robust benchmarks and validation frameworks, providing essential technical guidance to robotics teams adopting PVA acceleration. Partner with cross-functional teams, including hardware architecture, compiler development, system software, sensor integration, and platform engineering, to establish effective acceleration strategies and interfaces. Offer support to internal and external teams focused on developing and optimizing robotics algorithms for the PVA. Utilize advanced AI development tools and agentic workflows to expedite workload analysis, algorithm creation, benchmarking, and performance exploration. Produce high-quality, maintainable C/C++ code, comprehensive performance tests, user documentation, and validation infrastructure for robotics acceleration workflows.
A Bachelor's or Master's degree in Computer Science, Robotics, Electrical Engineering, Computer Engineering, or a related field, or equivalent practical experience, is required. Minimum of 5 years of professional experience in robotics software development, embedded systems, accelerated computing, computer vision, sensor processing, or perception systems. Possess a strong understanding of robotics algorithms, with practical insights into perception, sensor fusion, control, planning, or actuator pipelines. Demonstrate advanced C/C++ programming proficiency, including expertise in low-level debugging, performance profiling, optimization techniques, and developing production-quality software. Proven experience in analyzing algorithms and mapping workloads to diverse hardware architectures like CPUs, GPUs, DSPs, SIMD/VLIW processors, or specialized accelerators. Exhibit a deep comprehension of embedded systems, SoC architecture, memory hierarchy nuances, cache behavior dynamics, DMA operations, real-time scheduling principles, and common performance bottlenecks. Familiarity with embedded Linux and/or QNX development environments is essential. Experience with robotics middleware solutions such as ROS 2, real robot bring-up, sensor integration, or actuator/control path development is highly valued. Exhibit exceptional communication, collaboration, analytical, and problem-solving skills within a dynamic, multi-functional team setting.
Nvidia
AI / Machine Learning