Senior Software Developer
Epiphan Video
Software Engineering
Ottawa, ON, Canada
Posted on Nov 26, 2025
We are seeking an experienced Senior Software Developer to join our engineering team. You will develop and maintain firmware for Epiphan Pearl professional video capture and streaming devices, including Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano, Pearl Flex, and virtualized solutions. This is a Senior-level technical position requiring expertise across embedded systems, web development, and multimedia processing.Note: This position is based in Ottawa, ON, Canada, and requires working from the office.Key responsibilities:- Develop REST API endpoints and web interfaces- Build video processing pipelines for capture, encoding, and streaming- Create touchscreen user interfaces using Qt/QML- Maintain and improve the firmware build system- Debug hardware integration issues- Optimize performance for real-time video processing- Write automated tests and participate in code reviews- Support multiple product variants from a shared codebaseExperience and qualificationsMust have:- Bachelor’s degree in Computer Science or related field- 5+ years of software development experience- 3+ years embedded Linux development experience, including cross-compilation, device drivers, and root filesystem customization- Experience debugging on physical hardware devices- Strong proficiency in C/C++ for system-level and multimedia development.- Hands-on experience with shell scripting for build automation.- Experience with the Qt framework, including QtQuick and QML for GUI development.- Understanding of RESTful API design, including creating and maintaining OpenAPI specifications.- Proficiency with build systems such as CMake and Make, as well as RPM packaging and Docker-based build environments.- Strong problem-solving skills in complex systems- Ability to work with legacy codebasesNice to have:- 2+ years multimedia (video/audio) development experience- Previous experience working on firmware or embedded products.- Familiarity with video production equipment and related workflows.- Hands-on experience with multiple hardware platforms, such as ARM, x86, or FPGA-based systems.- Experience developing API and business logic in PHP.- Experience with JavaScript/TypeScript, including frontend development using React.- Knowledge of ARM and x86 hardware architectures.- Experience with FPGA integration in embedded or video-oriented systems.- Understanding of video and audio processing, including codecs (H.264, HEVC, AAC) and streaming protocols (RTMP, RTSP, SRT, NDI).- Familiarity with CI/CD pipelines, such as Bitbucket Pipelines or similar tools.