Senior System Software Engineer

NVIDIA

NVIDIA

Software Engineering
Bengaluru, Karnataka, India
Posted on Oct 24, 2024

At NVIDIA, our employees are passionate about parallel and visual computing. Our technology impacts the visual experience in video game development, film production, space exploration, medicine, computational finance and automotive design. Our parallel computing technology is being adopted by various giants of the industry for their innovative products in the market. We see that there are many more opportunities to broaden our presence. Hence, we need inquisitive and creative people to help us seek some of these outstanding opportunities.

CUDA is an industry leading parallel-programming framework used by millions of developers and enterprise customers. CUDA system software and middleware is deployed on a wide range of NVIDIA platforms ranging from embedded platforms such as Jetson toolkit all the way to large data center and autonomous driving platforms. We are now looking for a Senior Software Engineer to focus on compute system software, including the CUDA runtime and components that extend the programming model to other engines. Special focus areas for this role are CUDA feature development to enable tighter integration with other engines available on the chip. Ingredients for success in this role include relevant experience on systems architecture, design and development, hands-on experience working on system software modules such as device drivers, and strong problem solving skills

What you’ll be doing:

  • Be involved in the architectural design and analysis, and development of cutting edge compute system software, with an opportunity to shape the future of parallel computation on GPUs.

  • Design and build high performance runtimes that extend the CUDA programming model to newer engines that are being added to our GPUs and SoCs.

  • Come up with creative and pragmatic solutions to address competing goals in new features (such as security vs low latency, for example)

  • Define strategies to take complex software written for vastly different domains and harden to levels sufficient for deployment in mission critical automotive domains, and defend the strategy through safety certification processes and assessments.

  • Participate in development of proprietary and open computing standards and contribute to the development of next generation GPUs in collaboration with architecture and HW engineers at NVIDIA.

  • Inculcate a culture of high quality software development, mentor other engineers.

What we need to see:

  • 5+ years of proven experience in complex software development, design, and analysis.

  • BS, MS in Computer Science, or related field, or equivalent experience.

  • Passionate about high quality software engineering, and a desire to contribute towards creating better software.

  • Fair understanding of computer architecture, OS fundamentals.

  • A strong team player; self-motivated and good attitude.

  • Desire to learn, grow and create.

Ways to stand out from the crowd:

  • Previous experience with Parallel Programming, particularly in CUDA.

  • Strong middleware/system software development expertise

  • Prior experience with developing safety critical software

  • Experience in mentoring the engineers in the team

  • Hands-on experience with various tools and standards for better software engineering at the architectural, design, and code levels.

NVIDIA is committed to cultivating a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) 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.