Manager, Software Engineering - AV Frameworks
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Software Development @ 3 Linux @ 6 Communication @ 3 Git @ 2 Android @ 6 Matlab @ 3 Debugging @ 3 API @ 3 CUDA @ 3Details
Intelligent machines powered by Artificial Intelligence β computers that can learn, reason and interact with people β are no longer science fiction. Today, a self-driving car powered by AI can meander through a country road at night and find its way. An AI-powered robot can learn motor skills through trial and error β this is truly an extraordinary time and the era of AI has begun.
We are now looking for a Manager of System Software Engineering - Framework, to join our Autonomous Vehicles next generation team. Our team builds the NVIDIA DriveAV SDK with the goal to provide a scalable software stack and framework to build autonomous vehicles. We are seeking software engineers with interest in crafting, developing and maintaining the application framework and tools that we use to develop self-driving solutions on multi-computer and heterogeneous architectures. If you want to be part of the next generation of autonomous vehicle technology, join us!
Responsibilities
- Manage the development and optimization of software architecture and frameworks for real-world performance while matching or exceeding customer requirements.
- Work on component abstraction layers, inter-process data sharing and communication, and process scheduling.
- Develop efficient mechanisms to maximize utilization on computers with multiple heterogeneous hardware engines.
- Solidify existing frameworks and software components and validate improvements to computational performance and system utilization with large amounts of real and synthetic data.
- Perform in-vehicle tests, collect data and complete autonomous drive missions.
- Develop unit tests and documentation for features, evaluate quality and propose corrective actions.
- Develop highly efficient product code in C++, leveraging high algorithmic parallelism offered by GPGPU programming (CUDA). Follow quality and safety standards such as those defined by MISRA.
Requirements
- BS or MS in Computer Engineering, Computer Science or related field (or equivalent experience).
- 8+ years of overall relevant industry experience including 3+ years of experience leading a team.
- Excellent C and C++ programming skills.
- Experience developing and debugging multi-threaded and distributed applications (examples: multimedia systems, game engines, etc.).
- Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures.
- Strong knowledge of Linux, Android, and/or other real-time operating systems.
- Experience with frameworks for robotics such as ROS and/or for multimedia such as GStreamer.
- Preference for candidates who thrive on writing low latency, highly performant code.
- Strong communication and analytical skills; self-motivated and a great teammate.
Ways to stand out
- Understanding of embedded architectures, image processing APIs (e.g., OpenCV) and MATLAB tools.
- Experience developing software for heterogeneous architectures, including GPUs; familiarity with version control (GIT) and build systems like CMake or Bazel.
- Knowledge of automotive systems, notably ADAS applications.
- Experience with software development for modern OpenGL (Core Profile) and Linux.
- Hands-on collaboration experience with teams of algorithm, software and hardware engineers, with strong attention to detail and data organization/presentation.
Compensation & Other details
- Base salary range: 224,000 USD - 356,500 USD (determined based on location, experience, and pay of employees in similar positions).
- Eligible for equity and benefits.
- Applications accepted at least until January 20, 2026.
- NVIDIA uses AI tools in its recruiting processes. NVIDIA is an equal opportunity employer committed to fostering a diverse work environment.