Senior Software Engineer - Video Clients (C++)

Save to Kiter
What Twitch is looking for in applicants

About Us

Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on LinkedIn, Twitter and on our Blog.

About the Role

Twitch is building the future of live interactive entertainment, and video is at the very core of that vision. Amazon Interactive Video Service (IVS) is an AWS Service built within Twitch that enables AWS developers to easily leverage the low-latency, highly-distributed, live video platform that powers all Twitch applications. Reporting to the Senior Engineering Manager, the Core Video Clients Team is looking for an experienced C++ engineer to contribute to core functionality of our cross-platform, low-level video playback library. Our library supports web, mobile web, Android, iOS, consoles, and player SDKs for IVS.

If you're passionate about video, streaming, or entertainment, and inspired by building performant client software, then this is the position for you. We do not require previous experience working with video technologies. You will work with talented video veterans in building the client services for the largest live video streaming platform in the world. Along the way, you'll gain in-depth knowledge of our highly available and scalable end-to-end live video infrastructure.

We can't wait to see what we can build together!

You Will:

  • Take ownership of key components of C++ cross-platform video playback library.
  • Build and maintain video features, developer tools, and operational metrics.
  • Optimize for video performance and quality of service.
  • Design and refactor new and existing architecture, systems, and patterns.
  • Lead cross functional team projects with backend video teams from Ingest, Transcode, Replication, and Video Distribution teams.
  • Design and implement test automation tools and reliable unit tests, integration tests, and end-to-end tests for different browsers and devices (such as iOS and Android).
  • Support mentorship and development best practices to influence and up-level team members.

You Have:

  • 8+ years of professional software development or equivalent expertise.
  • Expertise with modern C++ 11 and up.
  • Experience with software architecture fundamentals, such as multi-threading, object-oriented design, abstractions, software design, and multiple testing methodologies.
  • Passionate about complex technical problems and solutions.

Bonus Points

  • Experience contributing to a low-level video player
  • Experience working with Emscripten and WebAssembly
  • Experience working with UDP technologies like QUIC and RIST
  • Experience with platform development and languages related to Web, iOS, and/or Android.
  • Experience shipping production video players, SDKs, APIs, and/or client apps.


  • Medical, Dental, Vision & Disability Insurance
  • 401(k), Maternity & Parental Leave
  • Flexible PTO
  • Commuter Benefits
  • Amazon Employee Discount
  • Monthly Contribution & Discounts for Wellness Related Activities & Programs (e.g., gym memberships, off-site massages, etc.),
  • Breakfast, Lunch & Dinner Served Daily
  • Free Snacks & Beverages

Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records. 

We are an equal opportunity employer and value diversity at Twitch. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.


Want some tips on how to get an interview at Twitch?

What is Twitch looking for?
If this role looks interesting to you, a great first step is to understand what excites you about the team, product or mission. Take your time thinking about this and then tell the team! Get in touch and communicate that passion.
What are interviews for Senior Software Engineer - Video Clients (C++) like?
Interview processes vary by company, role and team. The best plan is to see what others have experienced and then plan accordingly.
How to land an interview at Senior Software Engineer - Video Clients (C++)?
A great first step is organizing your path to an offer. Check out Kiter for tools to get started!