Senior System Software Engineer - Autonomous Vehicles Platform

NvidiaSanta Clara, CA
117d$148,000 - $287,500

About The Position

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 hardworking and dedicated 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 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.

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 like multimedia systems, game engines, etc.
  • Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures
  • Strong knowledge on Linux, QNX, and/or other real-time operating systems
  • Experience with frameworks for robotics such as ROS and/or for multimedia such as GStreamer
  • Thrive on writing low latency, highly performant code
  • Great communication and analytical skills

Nice To Haves

  • Understanding of embedded architectures
  • Experience developing software in 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 system like CMake/Bazel

Responsibilities

  • Developing and optimizing software architecture and frameworks for real-world performance while matching or exceeding customer requirements
  • Working on areas such as component abstraction layers, inter-process data sharing and communication, and process scheduling
  • Developing efficient mechanisms to maximize utilization on computers with multiple heterogeneous hardware engines
  • Solidifying existing frameworks and software components, and validate with large amounts of real and synthetic data for the improvements of the computational performance and system utilization
  • Performing in-vehicle tests, collecting data, and completing autonomous drive missions
  • Developing unit tests, documentation for features, evaluating quality and proposing corrective actions
  • Developing highly efficient product code in C++, making use of high algorithmic parallelism offered by GPGPU programming (CUDA)
  • Following quality and safety standards such as defined by MISRA

Benefits

  • Equity
  • Diversity and inclusion initiatives

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Industry

Computer and Electronic Product Manufacturing

Education Level

Bachelor's degree

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service