Senior Software Engineer - Python & C++
תיאור המשרה
We are looking for an outstanding Senior Software Engineer to join our Video/Multimedia Architecture & Algorithms (A&A) team - the people who build tomorrows 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 with.Requirements: What 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.This position is open to all candidates.
¿Te interesa este puesto?