Senior Software Engineer - Video Codecs
Product Development | Burnaby, British Columbia, Canada | Full Time
In 2004, Teradici set out to create the best virtual desktop and workstation experience in the world, and along the way we've enabled the most demanding use cases with requirements like top secret security, complex IT infrastructures, and intensive graphics performance. Our PCoIP technology fundamentally simplifies how computing is provisioned, managed and used.
With over 15 million endpoints deployed around the globe, we're no startup. Top government agencies, media conglomerates, production studios, financial firms, and design houses trust Teradici to support their need for secure, high-performance virtual desktops and workstations delivered from private data centers, public clouds, or any combination of both.
We are looking for a talented, creative, and team orientated Software Developer to participate in the design and development of our PCoIP Cloud Access Software, which is used by many of the big names in the Media & Entertainment industry, offering a secure, full-fidelity user experience - delivering the ultimate in remote access performance. Our Cloud Access Software product spans Linux, macOS, and Windows including kernel drivers and application software. In addition, the client product suite includes iOS, Chromebook, and Android clients.
As part of an Agile development team, you will be responsible for the design, development and testing of software video codecs. You will be working on next generation custom Teradici video software codecs that run in real-time (that enhances the remote desktop experience). You will make extensive use of the latest Intel/AMD instruction sets. You are the type of person that gets excited when you can decrease the bits per pixel without increasing CPU usage and/or decreasing quality. You are are good at putting the theory into practice. You want to work on bleeding edge technologies. You can teach us. You have experience working on shipping code.
- Work within a Scrum team to design, implement and maintain application software specifically in the domain of video codecs
- Write high performance, secure, reliable and maintainable code with solid unit test coverage
- Troubleshoot issues in the lab, utilizing debugging tools for application software
- Bachelors or Masters in Computer Science, Computer Engineering, Software Engineering or equivalent
- Minimum of 5 years of C++ software development experience
- Experience with video codecs such as H.264, HEVC or AV1 or equivalent
- Experience developing application software on one or more of Windows, Linux, or macOS platforms
- Excellent software design and programming skills
- First class analytical, diagnostic and problem solving skills
- Excellent verbal and written communication skills with an ability to collaborate with developers, product owners and other team members
- Passion to work in an exciting environment and deliver new technologies and products to the marketplace
- Ability to learn quickly
- Experience with high performance concurrent programming
- Experience with Agile development approaches such as Scrum
- Please advise in your application whether you are eligible to work in Canada
- An in-depth knowledge of CPU architectures
- Experience with GPGPU programming
- Experience optimizing OpenGL, D3D or Metal applications
- Experience with network programming
- One or more patents or publications in the field of image processing
- Secure products. You understand the importance of a secure SDLC and this is not an afterthought once all the features are developed.
- Automate everything. You actively automate as many manual tasks as possible so that these tasks can be repeated many times and allow us to scale.
- Self-managed teams. You hold yourself accountable for the full end-to-end lifecycle of what you are working on, from ensuring you are building something that will deliver customer value to getting it into customers' hands.
- Customer collaboration. You want feedback from customers to ensure your work is providing value and to enable you to iterate on that work.
- Tech-debt reduction. Software can live longer than you expect; therefore, you need to ensure it stays healthy and manage your technical debt accordingly.
- Collective ownership. You value contribution, wherever it comes from, and believe in peer review, continuous integration, test coverage and customer validation.
- We offer a competitive base salary and Employee Bonus Plan (company performance based). Our health benefits and retirement savings contributions start right away – no waiting period! We also offer three weeks of vacation for the first year (accrued and increased annually, up to 20 days per year)
- We develop and nurture our employees to be their best and bring their authentic selves to every team interaction. We strive for a dynamic team environment that is transparent and allows everyone to contribute and be heard.
- The health and safety of our employees is our top priority. As a result of COVID-19, we have implemented a Work From Home initiative for all employees and we encourage our teams to stay connected virtually during this time.
- Once our office is open again, we are excited to offer:
- Monthly social events & activities
- Luxury shuttle service to and from the nearest SkyTrain station
- Underground and secured bike "cage"
- Fully equipped onsite gym, Basketball, "Beach" Volleyball court and weekly yoga classes
- Teradici supports remote work flexibility using our own Cloud Access Software!