Posted at: 7 May

Senior Software Engineer - Python & C++

Company

CompanyNVIDIA

NVIDIA Corporation is a Santa Clara-based technology company specializing in designing GPUs and AI solutions for gaming, professional visualization, and cloud services, operating in both B2B and B2C markets globally.

Remote Hiring Policy:

NVIDIA supports flexible remote work arrangements and hires from various regions globally, including the Americas, Europe, Asia, and the Middle East, with roles that may require collaboration across time zones.

Job Type

Full-time

Allowed Applicant Locations

Asia, Israel

Apply HereThis position is no longer accepting applications

Job Description

Nvidia is looking for an outstanding Senior Software Engineer to join our Video/Multimedia Architecture & Algorithms (A&A) team — the people who build tomorrow’s NVENC and NVDEC, the dedicated video encode and decode engines that power streaming, cloud gaming, video conferencing and broadcast on every modern NVIDIA GPU. You will be the software-craftsmanship anchor of a small Software team inside A&A. You will craft and implement the core components developed using C++ alongside Python. These components support our research and product paths. You will raise the engineering bar across the group. You will also guide research code through to the shipping NVENC/NVDEC SDK.This is a hybrid role — 4 days per week from the office.What You'll Be DoingWork 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 PythonSet 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 youImplement 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.Profile and optimize critical paths in the codec stack; reach for CUDA when CPU-side optimization is not enoughBuild and sharpen the small libraries, frameworks and tools the team uses every day, and make sure they are a joy to work withWhat We Need To SeeB.Sc. in Computer Science or Electrical/Computer Engineering8+ years of relevant proven experience (or 5+ years and a relevant M.Sc.)Proficiency in modern C++ (C++14/17/20) — templates, RAII, concurrency, move semantics, the standard library, the worksProficiency in Python — idiomatic, performant, well-tested, with a strong sense of what is appropriate for C++ and what suits PythonStrong software design instincts and a real care for code quality: APIs, modularity, testability, clean abstractions, performance, the long tail of maintainabilityExperience working on Linux as a development platform — CMake, Git, debuggers, profilers, sanitizersExperience with optimizing Algorithmic code with different methods such as Multi-Threading/Multi-Processing, SIMD, C++, C, etcWays To Stand Out From The CrowdFamiliarity with video compression / codecs (NVENC, NVDEC, FFmpeg, GStreamer, x264/x265, AV1, VVC)CUDA or GPU programming experienceExperience embedding Python in C++ (pybind11, nanobind) or building Python extensionsExtensive ‘mileage’ with C++/Python Algorithmic Frameworks such as OpenCV, Numpy, SciPy, CuPy, matplotlib, TensorFlow, PyTorch, etc.NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative and autonomous, we want to hear from you!NVIDIA is committed to fostering a diverse work environment and is proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.
Apply HereThis position is no longer accepting applications