Senior Software Engineer - Python & C++
Indexed description
This is a hybrid role — 4 days per week from the office.
What You'll Be Doing
- 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
- 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
- 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.
- Profile and optimize critical paths in the codec stack; reach for CUDA when CPU-side optimization is not enough
- Build and sharpen the small libraries, frameworks and tools the team uses every day, and make sure they are a joy to work with
- 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) — templates, RAII, concurrency, move semantics, the standard library, the works
- Proficiency in Python — idiomatic, performant, well-tested, with a strong sense of what is appropriate for C++ and what suits Python
- Strong software design instincts and a real care for code quality: APIs, modularity, testability, clean abstractions, performance, the long tail of maintainability
- Experience working on Linux as a development platform — CMake, Git, debuggers, profilers, sanitizers
- Experience with optimizing Algorithmic code with different methods such as Multi-Threading/Multi-Processing, SIMD, C++, C, etc
- 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.
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.
, , JR2017227
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search