Senior Software Engineer - Python & C++

NVIDIA NVIDIA · Semiconductors · Yokneam, Israel +1

Senior Software Engineer to join the Video/Multimedia Architecture & Algorithms (A&A) team, focusing on building and optimizing core components for NVENC and NVDEC (video encode/decode engines). The role involves C++ and Python development, mentoring engineers, guiding research code to production, profiling and optimizing critical paths, and building team tools. Experience with video codecs, CUDA, and Python embedding is a plus.

What you'd actually do

  1. Work closely with our Architects and Algorithms Engineers to understand the needs and build, implement and/or optimize the most elegant solutions — in modern C++ and Python
  2. Set the bar for what “good software” means inside A&A: reviewing code, mentoring engineers from non-software backgrounds, and bringing the rest of the group up with you
  3. Implement detailed, focused “tweaks” into the SDK and the wider video stack. These changes let researchers test new ideas without forking the world. Walk research code through to a shipping NVENC/NVDEC release when needed.
  4. Profile and optimize critical paths in the codec stack; reach for CUDA when CPU-side optimization is not enough
  5. Build and sharpen the small libraries, frameworks and tools the team uses every day, and make sure they are a joy to work with

Skills

Required

  • B.Sc. in Computer Science or Electrical/Computer Engineering
  • 8+ years of relevant proven experience (or 5+ years and a relevant M.Sc.)
  • Proficiency in modern C++ (C++14/17/20)
  • Proficiency in Python
  • Strong software design instincts and a real care for code quality
  • Experience working on Linux as a development platform
  • Experience with optimizing Algorithmic code with different methods such as Multi-Threading/Multi-Processing, SIMD, C++, C, etc

Nice to have

  • Familiarity with video compression / codecs (NVENC, NVDEC, FFmpeg, GStreamer, x264/x265, AV1, VVC)
  • CUDA or GPU programming experience
  • Experience embedding Python in C++ (pybind11, nanobind) or building Python extensions
  • Extensive ‘mileage’ with C++/Python Algorithmic Frameworks such as OpenCV, Numpy, SciPy, CuPy, matplotlib, TensorFlow, PyTorch, etc.

What the JD emphasized

  • modern C++
  • Python
  • research code through to a shipping NVENC/NVDEC release