Senior Software Engineer, Jax

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +1 · Remote

Senior Software Engineer focused on performance optimizations for JAX, a deep learning framework, to build a scalable platform for data, training, and analysis. The role involves developing core JAX components, working with AI researchers, and building tools to improve AI system development efficiency.

What you'd actually do

  1. Play meaningful role in NVIDIA's effort in contributing to JAX.
  2. Design and implement JAX core components and drive peak performance on NVIDIA products.
  3. Work with AI applied researchers and leaders to build future-proof models
  4. Build tools that will increase the efficiency of teams developing AI-based systems.
  5. Work to bridge the gap between the latest in numerical computing, simulation and deep learning research and their applications in real world products.

Skills

Required

  • BS in Computer Science or Computer Engineering or related field (or equivalent experience)
  • 6+ years relevant experience
  • C/C++ and Python programming
  • Experience with machine learning frameworks and their internals (e.g. PyTorch, TensorFlow, scikit-learn, etc.)
  • Proven ability developing customer-facing solutions, balancing feature requests and bugs.
  • Proven technical foundation in CPU and GPU architectures, numeric libraries, modular software design.
  • Highly motivated with excellent verbal and written communication skills.
  • Ability to work successfully with multi-functional teams, principles and architects. Coordinates effectively across organizational boundaries and geographies.

Nice to have

  • Understanding of JAX, Autograd, tracing, code generation and DSL compilers and their design.
  • Understanding of deep learning training in distributed contexts: multi-GPU, multi-node, synchronous vs asynchronous.
  • Background with software shipping cycles (dev, deploy, release, CI).
  • Experience building distributed systems and services at large scale.

What the JD emphasized

  • performance optimizations
  • JAX
  • deep learning frameworks
  • customer-facing solutions
  • CPU and GPU architectures
  • numeric libraries
  • modular software design
  • distributed systems and services at large scale

Other signals

  • performance optimizations
  • deep learning frameworks
  • JAX
  • numerical computing
  • machine learning research