Required Skills
About the Job
NVIDIA is seeking a highly motivated and creative System Software Engineer with strong embedded, kernel/driver, and security experience to join our GPU Software team in Pune, Maharashtra. You will play a key role in designing and building critical security features and verification strategies for NVIDIA GPUs, working within complex software and hardware designs.
In this role, you will:
- Define, design, develop, and verify security and platform features for next-generation RISC-V and other in-house controllers on NVIDIA GPUs.
- Collaborate closely with hardware, firmware, and system software teams.
- Perform security analysis and hardening of firmware and middleware, including threat modeling, code reviews, static/dynamic analysis, fuzzing, and negative testing.
- Follow device development from inception through silicon bring-up and production for various NVIDIA products.
- Utilize pre-silicon modeling, simulation, and emulation to validate system and security properties early, de-risk bring-up, and shift-left defect discovery.
- Collaborate and communicate effectively with distributed teams across different time zones.
- Leverage AI-assisted tools to enhance development, review, and testing efficiency while adhering to NVIDIA's security and coding best practices.
What you need to succeed:
- Bachelor's or Master's degree in Computer Science or a related field, or equivalent experience.
- 3+ years of relevant software development experience, with a focus on embedded systems and/or kernel/driver stacks.
- Strong interest and background in software and hardware security, with hands-on experience building or maintaining security-relevant features.
- Excellent C programming skills and experience with low-level, resource-constrained, or real-time environments (bare-metal or RTOS).
- Experience with device driver or BSP development.
- Solid understanding of computer architecture and SoC fundamentals (caches, buses, MMUs, memory controllers, DMA, interrupt controllers, security islands, fuses).
- Experience with complex system-level debugging, including cross-component issues involving firmware, drivers, and hardware.
- Comfort using AI tools for development, code reviews, and testing in a secure and responsible manner.
- Strong communication and collaboration skills, with the ability to drive designs and reviews across teams.
Ways to stand out:
- Experience with RISC-V architecture, low-level BSP/firmware bring-up, toolchains, and/or on-chip security controllers.
- Deep understanding of hardware security, applied cryptography, and secure coding practices for embedded controllers and firmware.
- Hands-on work with secure boot, code integrity and confidentiality, TEEs, and key provisioning/rotation.
- Experience with simulation/emulation and silicon bring-up for security or control processors (FPGA prototyping, virtual platforms, QEMU/PQEMU, emulators).
- Familiarity with security verification techniques such as fuzzing, fault-injection, coverage-driven security testing, negative testing, or formal methods for security properties.