At a Glance
- Tasks: Design and optimise high-performance software for real-time media processing.
- Company: Join a leading tech company delivering innovative media solutions globally.
- Benefits: Enjoy a generous pension, private medical, dental, and subsidised gym membership.
- Other info: Remote-friendly roles available in Toronto or Cambridge with excellent career growth.
- Why this job: Make an impact in the media industry with cutting-edge technology and collaborative teams.
- Qualifications: Deep C++ expertise and experience in backend software development required.
The predicted salary is between 36000 - 60000 € per year.
Every day, Imagine Communications delivers billions of media moments all over the world — anywhere, anytime and on any device. Imagine Communications delivers innovative, end-to-end media software and networking solutions to over 3,000 customers in more than 185 countries, including the top broadcast facilities and the most technologically advanced sports and live-event venues.
Imagine Communications is seeking a Senior Software Engineer with deep C++ expertise to join our engineering team in Toronto, Canada or Cambridge, UK (both locations are remote friendly). This role focuses on high-performance development for real-time broadcast and media processing systems. The successful candidate will design, implement, optimize and maintain high-bandwidth stream processing microservices that demand high CPU, memory and network stack efficiency, within an existing microservices framework, while collaborating closely with cross-functional teams.
- Design, develop, and maintain high-performance backend components in modern C++.
- Implement and optimize real-time stream processing microservices within an existing microservice framework to deliver high bandwidth, low latency media processing.
- Analyze and improve CPU utilization, memory usage, network stack and kernel interactions and overall system performance.
- Profile and troubleshoot complex C++ applications to identify bottlenecks and inefficiencies.
- Develop and maintain REST-based services and interfaces.
- Work within Linux environments to build, debug, and deploy software solutions.
- Maintain and extend Bash scripting microservices orchestration layer.
- Collaborate with QA, DevOps, and product teams to ensure robust feature delivery.
- Participate in code reviews and contribute to continuous improvement of code quality and architecture.
- Support ongoing code maintenance, refactoring, and technical debt reduction.
About You
- Bachelor’s degree in Computer Science, Software Engineering, or equivalent experience.
- Senior-level experience in backend software development using modern C++.
- Strong expertise in multithreaded programming and concurrency concepts.
- Proven experience developing near real-time or high-performance systems.
- Solid understanding of CPU performance, memory management, Linux scheduling and application profiling techniques.
- Hands-on experience working on real-time or near real-time processing in Linux environments.
- Experience implementing or consuming REST APIs (Microsoft C++ REST SDK or similar frameworks).
- Strong knowledge of TCP/IP networking fundamentals.
- Excellent debugging, analytical, and problem-solving skills.
- Proficiency with Bash scripting.
- Strong communication skills and ability to work effectively in Agile teams.
The following experience is considered an asset:
- Experience with high-performance networking: 100Gb/sec+, InfiniBand, RDMA, OFED, Ibverbs.
- Experience in broadcast or media processing environments.
- Familiarity with SMPTE ST 2110, SMPTE 2022-6, playout, ingest, or transcoding technologies.
- Familiarity with video processing technologies including FFmpeg (or similar) framework.
- Exposure to UI or web-layer development.
At Imagine Communications, we don’t just accept difference — we celebrate it, we support it, and we thrive on it for the benefit of our customers, our employees, our products, and our communities. We are committed to providing an environment of mutual respect. Imagine Communications is proud to be an equal opportunity workplace and is an affirmative action employer.
Senior Software Engineer in Cambridge employer: Imagine Communications
Imagine Communications is an exceptional employer that prioritises employee wellbeing and professional growth, offering a comprehensive benefits package including a generous pension, private medical and dental care, and subsidised gym memberships. With a strong focus on innovation and collaboration, employees in Toronto or Cambridge can thrive in a supportive remote-friendly environment while working on cutting-edge media software solutions that impact billions of media moments globally.
StudySmarter Expert Advice🤫
We think this is how you could land Senior Software Engineer in Cambridge
✨Tip Number 1
Network like a pro! Reach out to current employees at Imagine Communications on LinkedIn. A friendly chat can give you insider info and might just get your foot in the door.
✨Tip Number 2
Show off your skills! Prepare a portfolio or GitHub repository showcasing your C++ projects, especially those related to high-performance systems. This will help us see your expertise in action.
✨Tip Number 3
Ace the interview by practising common technical questions and coding challenges. We want to see how you think and solve problems, so be ready to demonstrate your skills live!
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets noticed. Plus, it shows you’re genuinely interested in joining our team at Imagine Communications.
We think you need these skills to ace Senior Software Engineer in Cambridge
Some tips for your application 🫡
Tailor Your CV:Make sure your CV is tailored to the Senior Software Engineer role. Highlight your C++ expertise and any experience with high-performance systems. We want to see how your skills match what we're looking for!
Craft a Compelling Cover Letter:Your cover letter is your chance to shine! Use it to explain why you're passionate about media processing and how your background makes you a great fit for our team. Let us know why you want to join Imagine Communications!
Showcase Your Projects:If you've worked on relevant projects, make sure to mention them! Whether it's real-time processing or multithreaded programming, we love seeing practical examples of your work. It helps us understand your hands-on experience.
Apply Through Our Website:We encourage you to apply through our website for a smoother application process. It’s the best way for us to receive your application and keep track of it. Plus, it shows you're keen on joining our team!
How to prepare for a job interview at Imagine Communications
✨Know Your C++ Inside Out
Make sure you brush up on your C++ skills, especially around multithreading and performance optimisation. Be ready to discuss specific projects where you've implemented high-performance systems, as this will show your depth of knowledge.
✨Understand the Media Processing Landscape
Familiarise yourself with real-time media processing concepts and technologies like SMPTE standards or FFmpeg. Being able to speak about these topics will demonstrate your interest in the industry and how you can contribute to their projects.
✨Prepare for Technical Questions
Expect to face technical questions that test your problem-solving skills and understanding of CPU performance and memory management. Practise coding challenges or system design scenarios that relate to high-performance backend development.
✨Showcase Your Collaboration Skills
Since the role involves working closely with cross-functional teams, be prepared to share examples of how you've successfully collaborated in Agile environments. Highlight your communication skills and how you’ve contributed to team success in past roles.