Senior System Software Engineer - Autonomous Vehicles Platform
at Nvidia
π Santa Clara, United States
USD 148,000-287,500 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Software Development @ 4 Linux @ 7 Communication @ 4 Git @ 4 Debugging @ 4 CUDA @ 4Details
Our Autonomous Vehicles Platform Team is searching for a hands-on systems and software platform engineer to design ground-breaking solutions that will revolutionize the world of transportation and the growing field of self-driving cars. You will collaborate with multi-functional engineering development teams across various vehicle subsystems to integrate their work into our autonomous driving platform.
We are seeking a skilled software engineer interested in crafting, developing and maintaining the application framework and tools used to develop self-driving solutions on multi-computer and heterogeneous architectures.
Responsibilities
- Develop and optimize software architecture and frameworks for real-world performance while matching or exceeding customer requirements.
- Work on areas such as 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 with large amounts of real and synthetic data to improve computational performance and system utilization.
- 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++, making use of high algorithmic parallelism offered by GPGPU programming (CUDA). Follow quality and safety standards such as defined by MISRA.
Requirements
- 4+ years of relevant industry experience.
- BS/MS or higher or equivalent experience in computer engineering, computer science or related engineering disciplines.
- Excellent C and C++ programming skills.
- Experience developing and debugging multithreaded/distributed applications (e.g., multimedia systems, game engines).
- Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures.
- Strong knowledge of Linux, QNX, and/or other real-time operating systems.
- Experience with frameworks for robotics such as ROS and/or multimedia frameworks such as GStreamer.
- Desire to write low-latency, highly performant code.
- Great communication and analytical skills.
Ways to Stand Out
- Understanding of embedded architectures.
- Experience developing software for heterogeneous architectures, including GPUs.
- Knowledge of automotive systems, notably ADAS applications.
- Software development for modern OpenGL (Core Profile) and Linux.
- Experience with version control systems (GIT) and build systems like CMake or Bazel.
Compensation and Benefits
- Base salary range (Level 3): 148,000 USD - 235,750 USD.
- Base salary range (Level 4): 184,000 USD - 287,500 USD.
- You will also be eligible for equity and benefits (link provided by employer).
Additional Information
- Applications for this job will be accepted at least until September 1, 2025.
- NVIDIA is committed to fostering a diverse work environment and is an equal opportunity employer. The company does not discriminate on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.