Software Developer - Caprica (Job Req #2025-357)
Ross Video
Job overview:
You’ll help conceive, design, develop, and deliver software for real-world broadcast applications. Our small, collaborative teams value innovation, constructive feedback, and seeing ideas through to impact. The Caprica team builds and maintains control systems for devices such as production switchers, cameras, and audio mixers, plus our in-house CX Panel. Other Ross products—including OverDrive and Quorum—depend on Caprica for device control. Caprica is an embedded platform written in C/C++; the current UI uses DashBoard (a Ross product). We’re primarily remote. Ottawa-based teammates are expected to be in the office once a week.
Who you report to: Manager, Software Development
What we offer:
Ross offers competitive salaries, comprehensive health plans, and several perks to help you perform at your best. Some of these perks include flexible hours, generous paid time off, fitness/wellness allowance, an employee share ownership program, development support, and a ton of fun social activities and events! Best of all, you will be part of the Ross Video family, and we've got an energizing environment here.
What the job is all about:
- Participate in planning, development, testing, and delivery of high-quality software.
- Contribute to test automation and implement unit tests as needed.
- Serve as a point of contact for test automation using Python.
- Develop new features in C/C++.
- Take part in code reviews to ensure quality and best practices.
- Integrate hardware and software to deliver cohesive solutions.
- Learn how operators use our products and factor that into decisions.
- Collaborate in an Agile environment and partner with other teams to leverage shared platforms.
- Perform other duties as required.
Who you are:
- Degree in Computer Science, Computer Engineering, or a related field (or equivalent experience).
- Have one to five years of software development experience in a Unix environment using VS Code.
- Proficiency with Python.
- Experience with C/C++.
- Familiarity with Git.
- Solid understanding of OOP principles and practices.
- Interest in sound development processes and best practices, especially for quality and performance.
- Willingness to tackle challenging work and explore new tools/technologies.
- Strong debugging skills.
Bonus points if you have the following:
- Experience working on an Agile/Scrum team.
- Experience with React and JavaScript (asset).
- Embedded software experience.
- Familiarity with AI tools and using them in development environment is an asset.
- Collaborative methods such as pair programming and/or mobbing.
- Knowledge of TDD, BDD, AWS (or other cloud platforms), and production switchers (asset).
