Overview:
Every day, Imagine Communications is delivering 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.
Why Imagine?
Imagine Communications offers a generous Medical, Dental, Vision and Life Insurance package. We like to make sure all our employees are safe when travelling so we’ve got travel insurance covered too. Employee Wellbeing is a priority for us, so all employees and their family have access to our EAP and Wellness programs, including LifeSpeak and Vitality. Volunteer in your community and we will pay for that too.
A Bit About The Role:
The R&D engineering team is responsible for all software and/or hardware design work for video products including Magellan, SNP, SDN Orchestrator, and Playout products including XVR and Versio. As a Senior Software Engineer on the Video Development Team, you will be responsible for designing, building, and testing software for broadcast equipment. You should have a strong interest in and knowledge of C/C++ and Java programming and PC hardware.
Key Responsibilities:
-
Research and development of software applications and core components for Windows and Linux systems for x86_64 based architectures, including services for:
-
Video and audio manipulation and compositing
-
Effect scheduling and triggering
-
Media encoding/decoding
-
Collaborate on projects with the architecture team
-
Work closely with other development team members in a dynamic, fast-paced, and inviting environment
-
Work with QA & technical support teams to resolve issues identified by internal testing & customers in the field
-
Perform self-directed and peer code reviews
-
Develop unit tests
-
Document, plan and break-down high-level feature requests into sprint-size tasks
About You:
- Bachelor’s degree in computer science, computer engineering, or related discipline
-
Strong Java development skills
-
Strong C++ development skills
-
Object-oriented design experience
-
5+ years professional software development experience
-
3+ years of multi-threaded application development experience
-
Knowledge of software engineering principles and best practices
-
Experience working both independently and collaborating in a team environment
- Strong knowledge of concurrent programming techniques
-
Strong knowledge of Linux and BASH CLI
-
Strong knowledge of version control systems such as Git and Mercurial
-
Excellent team player
-
Versatile & adaptable to new tools & challenges
-
Excellent troubleshooting and debugging skills
-
Well-developed oral & written communication skills
Preferred Qualifications
-
Experience with the broadcast industry and applicable technologies such as ST2110, PTP and other SMPTE and IBU standards & organizations
-
Experience with network (socket) communication
-
Experience with cloud/virtual machine-based computing, provisioning and orchestration
- Knowledge of JSON, XML and XML web services
-
Applied use of design patterns
-
Expert with Visual Studio, Mercurial development tools
-
Experience in Agile work environments
Celebrating difference, together stronger
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.