System Software Engineer – Autonomous Vehicles Platform
Job Description
We are looking Senior Systems Software Engineer with interests on designing, developing and maintaining many aspects of the core technology around sensor drivers and interfaces, data streaming, data recording and playback, vehicle interface abstraction. This is our life’s work: to amplify human creativity and intelligence. NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most brilliant and talented people in the world working for us. If you're creative, autonomous, and love a challenge, we want to hear from you.
What you will be doing:
Developing and optimizing software architecture and frameworks for real-world performance while meeting the customer requirements
Developing middleware and applications for autonomous vehicle platform
Work with our car teams and control teams to develop interfaces to the vehicles to enable self-driving
Support data collection campaigns for our autonomous vehicle program.
Developing unit tests, documentation for features, evaluating quality and proposing corrective actions.
Deliver 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
What we need to see:
BS/MS or higher in computer engineering, computer science or related engineering disciplines (or equivalent experience)
10+ year of relevant work and /or lab experience
Excellent C++, C and Python programming skills
Experience developing and debugging multithreaded/distributed applications like multimedia systems, game engines, etc.
Solid understanding of programming and debugging techniques, especially for parallel and distributed architectures.
Solid understanding on Linux, Android, and/or other real-time operating systems.
Experience with sensors such as cameras, lidar, radar, ultrasonics, IMU, GPS including sensor drivers.
Background with vehicle control interfaces
Great communication and analytical skills
Ways to Stand Out From The Crowd:
Understanding of embedded architectures
Software development for modern OpenGL (Core Profile) and Linux.
Experience with version control systems GIT and build system CMake
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
You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.