NVIDIA is a leader in AI computing and is seeking excellent software engineers for their Deep Learning Libraries Group. The role involves designing and developing scalable infrastructure for deep learning libraries, enabling high performance across various platforms.
Responsibilities:
- Designing and developing software for testing and analysis of our codebases
- Building scalable automation for build, test, integration, and release processes for publicly distributed deep learning libraries
- Developing throughout the software stack, from the user experience down to the cluster and database layers
- Configuring, maintaining, and building upon deployments of industry-standard tools (e.g. Kubernetes, Jenkins, Docker, CMake, Gitlab, Jira, etc)
- Advancing innovative in those industry-standard tools and upstreaming contributions to the open source community
Requirements:
- BS or equivalent experience or higher degree in Computer Science or Computer Engineering with 5+ years of relevant experience
- Strong programming skills in Python (or similar) and familiarity with C/C++ development
- Experience setting up, maintaining, and automating continuous integration systems
- Proficiency in SCM (e.g. Git, Perforce) and build systems (e.g. Make, CMake, Bazel)
- A pragmatic approach to solving problems collaboratively with a passion for 'it just works' automation to enable team members
- Experience designing and developing automation in Jenkins, Gitlab CI/CD, or Github Actions and background with distributed systems and cluster/cloud computing (e.g. Slurm, containers, Kubernetes, etc)
- Experience designing and developing unit and integration test frameworks with hands-on experience using code coverage and static code analysis tools
- Success leading a team of engineers and/or experience as an active contributor to a software project involving many developers
- Knowledge of GPU computing systems and experience with mobile/embedded platforms and multiple operating systems (Ubuntu, CentOS, Windows, L4T, or similar)
- Track record of identifying useful new technologies and incorporating them into SW development flows