As a Software Engineer working on NDI, you’ll contribute to the design and development of high-performance, cross-platform applications and SDK components that form the foundation of the NDI ecosystem.
You’ll work with a team of experienced engineers who are passionate about real-time media, networking, and distributed systems, driving innovation in professional IP video workflows.
Key Responsibilities Design and implement cross-platform C++ software for real-time video, audio, and data transmission over IP.
Develop and optimize GPU-accelerated video transcoding pipelines for formats such as H.
264 and HEVC.
Implement efficient, low-latency networking and synchronization for live media streams.
Write clean, maintainable, and performant code following modern C++ standards.
Collaborate closely with other R&D teams on architecture, integration, and performance improvements.
Conduct performance analysis, profiling, and optimizations across CPU and GPU pipelines.
Participate in design and code reviews, contributing to shared standards and best practices.
Maintain documentation, test coverage, and continuous integration for developed modules.
4+ years of professional experience in C++ software development.
Strong proficiency in modern C++ (C++17 or later), including templates, STL, and memory management.
Experience with multi-threaded and multi-core programming.
Experience in socket-level network programming and a good understanding of TCP/IP, UDP and mDNS protocol.
Hands-on experience with cross-platform development (Windows, Linux, macOS).
Experience working with large codebases and version control systems (Git, Jira).
Strong analytical and debugging skills, with a focus on performance optimization.
Effective communication skills and the ability to collaborate within a distributed team.
Understanding of web technologies, including web services, web application servers and Restful APIs.
Preferred Qualifications Familiarity with GPU programming (CUDA, NVENC/NVDEC, or similar technologies).
Familiarity with real-time video/audio systems and related performance considerations.
Experience with real-time video streaming, transcoding, or compression technologies (e.
g., H.264, HEVC, AV1).
Familiarity with NDI, or similar IP-based video transport protocols.
Knowledge of graphics or compute APIs such as DirectX, Vulkan, or OpenGL.
Background in video/audio streaming, encoding, or real-time graphics.
Experience with low-level network programming or network stack implementations.
Exposure to GPU, SIMD, and compiler intrinsics optimization techniques.
Knowledge of automation, CI/CD pipelines, and cross-compilation for ARM/x86.
Understanding video formats, color spaces, frame timing, and synchronization.
Experience with OS low-level APIs, hardware acceleration, services, and performance characteristics to best utilize the hardware capabilities.
Disclaimer: This position is offered through a partner company, with a primary focus on Vizrt deliverables.