Senior Software Engineer, Egomotion - Autonomous Vehicles

  • NVIDIA
  • Zürich, ZH, Switzerland
  • 23/08/2021
Full time Data Science Data Engineering Machine Learning Big Data Statistics Software Engineering

Job Description

We are now looking for a Senior Software Engineer for Autonomous Vehicles. 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.

Our team builds the NVIDIA DriveWorks SDK with the goal to provide a scalable software stack and framework to build autonomous vehicles. We work with leading automotive OEMs, Tier 1 suppliers as well as raising stars in the startup world. You will have a direct impact on the shipped product by aligning on right requirements with all stakeholders and ensuring you provide your best for the success of the software stack. We are seeking senior software engineers with interests in computer vision, mapping, LIDAR perception, deep learning, sensor fusion, and other related areas, to work as part of NVIDIA’s autonomous vehicles team.

What you will be doing:

  • Taking algorithms from initial evaluation and experimentation all the way to shipping them in the SDK and related products

  • Developing and optimizing software architecture and frameworks for real-world performance while matching or exceeding customer requirements

  • Solidifying existing algorithms and working with large amounts of real and synthetic data to continuously improve the algorithmic and computational performance

  • Performing in-vehicle tests, collecting data and completing autonomous drive missions

  • Developing unit tests, documentation for features, evaluating quality and proposing 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

  • Productize your contribution by working closer with multiple internal and external stakeholder

What we need to see:

  • MS or higher in computer science or related engineering discipline (or equivalent experience)

  • Excellent C++ programming skills using modern C++ and experience in development on Linux

  • Experience implementing algorithms in Robotics, Computer Vision and/or Machine Learning

  • Strong knowledge of programming and debugging techniques, especially for parallel architectures

  • Strong mathematical fundamentals, including linear algebra and numerical methods

  • Great communication and analytical skills

  • Self-motivation and a great teammate

Ways to stand out from the crowd:

  • Understanding of embedded architectures

  • Background in vehicle motion estimation using complementary or kalman filters

  • Experience with data-parallel and/or GPGPU programming, CUDA, OpenCL

  • Background with performance analysis, optimizations and benchmarking

  • Knowledge of image processing APIs (e.g. OpenCV) and MATLAB tools

  • Knowledge of automotive systems, notably ADAS applications

  • Programming experience on QNX, and other real-time operating systems is a plus

  • Experience w orking on areas such as sensor self- as well as end-of-line calibration, vehicle motion estimation, computer vision by using a variety of sensor modalities (Camera, LIDAR, Radar, INS, GPS, Odometry, etc.)

  • Background in sensor calibration (intrinsic/extrinsic) for variety of sensors (camera, lidar, radar, imu, ultrasonics)

  • Experience with version control systems GIT and build system bazel

  • Be hands-on and work well within a team of algorithm, software and hardware engineers, with a significant level of detail orientation and a penchant for data organization and presentation

  • Prefer 2+ years of relevant industry experience

Image recognition and speech recognition — GPU Deep Learning has provided the foundation for machines to learn, perceive, reason and solve problems. The GPU started out as the engine for simulating human creativity, conjuring up the amazing virtual worlds of video games and Hollywood films. Now, NVIDIA's GPU runs Deep Learning algorithms, simulating human intelligence, and acts as the brain of computers, robots and self-driving cars that can perceive and understand the world. Just as human imagination and intelligence are linked, computer graphics and AI come together in our architecture. Two modes of the human brain, two modes of the GPU. This may explain why NVIDIA GPUs are used broadly for Deep Learning, and NVIDIA is increasingly known as “the AI computing company.” Make the choice to join us today