Description
We are seeking a motivated software engineer to develop diagnostics and validation software for NVIDIA's next-generation GPU servers.
You will develop production C++ software on Linux, investigate challenging system failures, and collaborate with software, firmware, and hardware teams.
Responsibilities
- Develop and maintain MODS diagnostic software, stress workloads, and validation tools for GPU boards, servers, and racks.
- Implement tests covering GPU compute, memory, power, thermal behavior, PCIe, NVLink, and other platform components, with clear pass/fail criteria and useful failure information.
- Write reliable, efficient C++ code and improve the performance, maintainability, and test coverage of a large production codebase.
- Reproduce and debug complex failures across software, operating systems, firmware, and hardware, working with the relevant teams to identify root causes and verify fixes.
- Integrate diagnostics into manufacturing and data center workflows, balancing test coverage, runtime, and reliability.
- Develop automation and supporting tools using Python and JavaScript; improve regression testing, log analysis, and diagnostic reporting.
- Apply AI-assisted tools to code development, debugging, test generation, and data analysis, reviewing and validating their results.
- Collaborate with architecture, driver, firmware, hardware, manufacturing, and partner teams, and document test behavior and troubleshooting procedures.
Requirements
- BS or MS in Computer Science, Computer Engineering, Electrical Engineering, or a related field, or equivalent practical experience.
- More than 3 years of professional software engineering experience, with substantial hands-on C++ development for production environments.
- Strong C++ programming skills, including sound understanding of data structures, algorithms, memory management, and maintainable software design.
- Extensive debugging experience: reproducing difficult failures, forming and testing hypotheses, analyzing logs and program state, and verifying root-cause fixes.
- Strong Linux development and troubleshooting skills, with a solid foundation in operating systems, processes, threads, memory, and concurrency.
- Familiarity with Python and JavaScript for automation, tooling, or supporting applications.
Nice to Have
- Experience with GPU or server diagnostics, system validation, manufacturing tests, or field-failure analysis.
- Familiarity with PCIe, NVLink, InfiniBand, Ethernet, or x86/ARM server platforms.
- Experience with CUDA, OpenGL, drivers, or software that interacts closely with hardware.
- Practical use of GDB, sanitizers, profiling tools, or tracing tools to diagnose correctness and performance issues.
- Experience improving automated regression pipelines, diagnostic coverage, or structured logging.
Benefits
Competitive salaries and a generous benefits package.
For more fresh new jobs, check out yubhub.co.