Software Engineer
Summary
Develop and maintain C/C++ integrations for video codec technologies (LCEVC, VC-6), integrating SDKs into media frameworks like FFmpeg and GStreamer across desktop and mobile platforms.
You will have an interest in video and compression technology, along with mobile and desktop system-level development. You are proactive, curious and comfortable contributing to wide-ranging technical discussions. You enjoy solving practical integration problems, communicating clearly and working with a multi-skilled team to turn new technology into reliable product experiences.
Responsibilities
- Develop and maintain C/C++ integrations LCEVC and VC-6 encoder and decoder technologies.
- Integrate codec SDKs into media frameworks, players and encoding systems, with a primary focus on FFmpeg and GStreamer. The wider team also supports integrations including AndroidX Media3/ExoPlayer, Apple media frameworks, web players, Chromium and WebRTC.
- Investigate interoperability, performance and platform-specific issues across operating systems, devices and third-party applications.
- Work with encoder and decoder teams to improve the core integration layers and APIs.
- Create tests, sample applications and clear integration documentation that help customers and partners adopt the technology.
- Contribute changes upstream and work constructively with open-source communities where appropriate.
- Collaborate with colleagues and external engineering teams to scope work, communicate progress and deliver integrations to production.
Qualifications
- Commercial software development experience using C and/or C++.
- Experience developing or debugging system-level software on Linux and/or Windows.
- Experience with at least one relevant area such as FFmpeg, GStreamer, video encoding, mobile media, browser media, WebRTC or GPU-accelerated processing.
- Good problem-solving skills and confidence working across unfamiliar codebases and third-party APIs.
- Clear written and verbal communication, including concise progress updates and technical documentation.
- A degree in Computer Science, Engineering or a related discipline, or equivalent practical experience.
Desirable Experience
- Direct development experience with FFmpeg or GStreamer is advantageous but not essential.
- Knowledge of video codecs, encoding or streaming technologies such as H.264/AVC, HEVC, AV1, VVC, HLS, MPEG-DASH or CMAF.
- Android development with Media3/ExoPlayer, MediaCodec or the Android NDK.
- Development for Apple platforms using Swift, Objective-C, AVFoundation, AVPlayer, VideoToolbox or VLCKit.
- Web media, Chromium or WebRTC development using JavaScript or TypeScript.
- GPU, cloud, real-time, VR/AR or pixel-streaming experience.
- Previous experience contributing to open-source projects or working in customer-facing engineering.