Senior Software Engineer - HPC
NVIDIA has continuously reinvented itself over two decades. Our invention of the GPU in 1999 fueled the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI and enabled the next era of computing. NVIDIA is a “learning machine” that constantly evolves by adapting to new opportunities that are hard to address, that matters to the world, and that only we can address. This is our life’s work, to amplify human imagination and intelligence, and expand what is possible. We’re seeking strategic, bold, hard-working, and creative individuals who are passionate about helping us tackle challenges no one else can solve. Make the choice to join us today.
We are looking for a Senior Software Engineer to join our mission to continue improving our HPC infrastructure. Our team builds and operates sophisticated infrastructure to enable business critical services and AI applications. You will be working with a team of passionate and skilled engineers that are continuously working to provide better tools to build and manage this infrastructure. Ideal candidate is strong in software development, designing and creating reliable distributed systems, and has the ability to implement well thought out long term maintenance strategy.
What you’ll be doing:
Design highly available and scalable systems to meet the demands of our HPC clusters
Evaluate new and innovative technologies as the landscape evolves
Continuously improve infrastructure provisioning and management using automation
Support a globally distributed, multi-cloud hybrid environment - AWS, GCP and On-prem
Build strong cross functional relationships and align with partners across various business units
Ensure the highest level of up-time and Quality of Service (QoS) to our users through operational excellence
Participate in team's on-call rotation and be a contact for service incidents
What we need to see:
10+ years of experience in design, implementation, and delivery of large engineering projects
Comfortable with at least two of the following programming languages: Golang, Java, C/C++, Scala, Python, Elixir.
Understands scalability challenges and performance of server-side code. Able to craft and develop horizontally-scalable, resilient and performing-under-load systems.
Versatile technologist with experience in full software development lifecycle – from inception and design to deployment, operation, and iterative development.
Proficient in cloud computing and are hands-on in at least one cloud platform: GCP, AWS, or Azure.
Proficient in modern CI/CD techniques, GitOps and Infrastructure as Code(IaC)
Strong work ethic and a passion for problem solving
B.S. degree in Computer Science or related technical field (or equivalent experience)
Detail oriented with great communication and collaboration skills
Ways to stand out from the crowd:
Prior experience building solutions for HPC clusters based on Slurm or Kubernetes
Strong understanding of Linux operation system and TCP/IP fundamentals