Senior System Software Architect - QNX Device Drivers
NVIDIA
We have an exciting opportunity for a talented System Software Architect to join our dynamic Automotive Team and help us develop innovative, secure, and high-performance automotive systems. If you have a good understanding of System Software development on Real Time OS (RTOS), ARM architecture, Virtualization, strong C and/or Ada/SPARK programming skills, and experience with formal methods, we want to hear from you! Join us in creating the future of automotive technology and be part of a team that is revolutionizing the industry. We are making extensive use of formal methods to automate our workflow and increase the quality of our SW. We are a leading artificial intelligence computing company and are paving the way with innovations in gaming, visualization, supercomputing, and self-driving cars.
NVIDIA gives automakers, tier-1 suppliers, automotive research institutions, and start-ups the power and flexibility to develop and deploy breakthrough artificial intelligence systems for self-driving vehicles. Our unified computing architecture makes it possible to train deep neural networks in the data center on the NVIDIA DGX™, and then seamlessly run them on NVIDIA's DRIVE platform inside the vehicle. Leading vehicle manufacturers, tier 1 suppliers, mapping and simulation companies, software and sensor providers, and startups around the world are developing on the NVIDIA DRIVE® platform to deliver the best solutions for the new world of mobility. As a System Software Architect in the Automotive team, you will get an opportunity to work on NVIDIA's latest SOCs, help tackle complex and important problems, and work alongside industry experts in diverse teams and projects.
What you’ll be doing:
Architect and design safety (ISO26262) and security (ISO21434) compliant system software for NVIDIA DRIVE platform for autonomous vehicles
Architect and design Real Time System Software features for NVIDIA Tegra SOC
Development & bring-up activities for next-generation Tegra SOC
Work with the ASIC teams to enhance SW performance and virtualization support in the SOC
Extensively use Formal Methods to architect and develop high integrity software
Design debugging solutions and tooling to improve developer experience on DRIVE platform
Handle complex issues requiring interactions between components partitioned across the large software stack
Learn to harness maximum and consistent system software performance and develop workflows and tools to measure performance
What we need to see:
Bachelors/Masters or equivalent experience in Computer Science
12+ years of experience in System Software architecture and development for real time embedded systems
Strong understanding of computer architecture and operating system fundamentals
Experience in architecting solutions for complex system problems.
Strong C and/or Ada/SPARK programming and debugging skills
Hands-on experience with performance analysis and system analyzer tools
Hands-on experience with debugging tools
A dedicated, team and results oriented, self-motivated contributor with excellent analytical and interpersonal skills
Ways to stand out from the crowd:
In-depth knowledge of embedded systems and real time operating systems, like QNX and RT Linux skills
Good understanding of ARM architecture and low-level software development for ARM v8 based SOCs
Prior hands-on experience in Ada/SPARK programming (including specification and formal verification) and TLA+ formal verification modeling
Background in software development in compliance to ISO 26262, ISO21434 and ASPICE
CCSP or equivalent certification
You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.