NVIDIA
13 days ago
NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Were looking to grow our company, and form teams with the most inquisitive people in the world. Join us at the forefront of technological advancement. Although every member of our team is multi-faceted, the focus for this role is on building infrastructure for user-friendliness, maintainability, and extensibility, advocating for parity across all the platforms we support. We work closely with our developers to understand their work and use cases, helping to standardize, automate, and improve their processes.
On a typical day, you might work on systems and scripts built for python, cmake and anaconda, referencing PEP and NEP documentation, and using Github and Gitlab to manage and deploy your work. You should be proactive in identifying and clarifying ambiguity, championing best-practices, and helping find the balance between competing priorities to ship better software, faster. If you embrace abstraction, have an intuition for identifying and decomposing coupled systems, and thrive in an iterative environment, we believe you will fit right in.
What you will be doing:
Decomposing and modularizing build processes for reusablity across multiple projects
Debugging cmake, pip, and conda issues encountered in CI and local builds
Working on scripting and infrastructure to manage dependencies across various environments and build systems
Bringing up builds and CI across platforms (x64/arm64) and OS’es (Linux/Windows/Mac) and other unreleased hardware and software
Working with engineering leadership to identify the support matrix and manage the scope of the build matrix
Creating and updating documentation and coordinating with stakeholders to scope and tackle cross-functional projects
Automating scheduled work for all of the above
What we need to see:
Bachelor’s Degree in Systems/Software/Computer Engineering, CS or equivalent experience
8+ years of relevant industry experience or equivalent academic experience after BS
Experience working across multiple highly-coupled projects (in Git or another VCS)
Experience working with C/C++ or Python projects
Familiarity with cmake, pip, conda or other tools for C/C++ or Python build and packaging
Familiarity with CI/CD systems including Github and Gitlab
Understanding of testing principles
Knowledge of release management practices
Strong analytical, debugging, and problem-solving skills
Familiarity with containerization technologies (e.g. Docker)
Ways to stand out from the crowd:
Experience working with or compiling for HPC/multi-node environment
Experience working with closed-source SW, confidential HW, or large code-bases (100k+ LoC)
Familiarity with binary library compilation, linking, and distribution
Exposure to development across multiple OS’es
You have implemented, shipped, and EoL’d a conda package
You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.