Senior Software Engineer
Seeking a Senior Software Engineer to join a video/multimedia architecture and algorithms team. You will design and implement core components in C++ and Python, optimize codec paths using CUDA, and guide research to production SDKs. Set engineering standards and mentor the team. Hybrid role based in Israel.
Responsibilities
- Work with architects and algorithms engineers to build and optimize video software solutions in C++ and Python.
- Set software quality standards through code reviews, mentoring, and promoting best practices.
- Implement targeted changes to the SDK and video stack for research testing.
- Profile and optimize critical codec paths, using CUDA when necessary.
- Develop and maintain libraries, frameworks, and tools for the team.
Requirements
- B.Sc. in Computer Science or Electrical/Computer Engineering (or equivalent).
- 8+ years of software engineering experience (or 5+ years with M.Sc.).
- Proficiency in modern C++ (C++14/17/20) including templates, RAII, concurrency, move semantics.
- Proficiency in Python, with a focus on writing performant, well-tested code.
- Strong software design skills with an emphasis on APIs, modularity, and maintainability.
- Experience with Linux development tools: CMake, Git, debuggers, profilers, sanitizers.
- Experience optimizing algorithmic code using multi-threading, SIMD, 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.
- Experience with C++/Python algorithmic frameworks (OpenCV, Numpy, SciPy, CuPy, matplotlib, TensorFlow, PyTorch).