Twitch

Senior Software Engineer, Video Platform

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

The Video Ingest team is a cross functional team responsible for all the software and systems related to ingesting, processing and preparing creator content for distribution via the Twitch CDN. This includes real-time contribution front ends, transcode workflows and processing, customer configuration management and the origin and manifests sourcing the content.

We are looking for an engineer who is eager to help us tackle the tough design and engineering problems. You will operate a highly available internet broadcast distributed computing system at scale. The ideal candidate is a generalist who will be comfortable with a variety of programming languages including Go, Java, C/C++, various scripting languages and have a solid foundation in the fundamentals of computer science and distributed systems. You will report to the Software Development Manager.

You Will:

  • Lead the architecture, design, and implementation of successful internet-scale systems and services to support the Twitch video infrastructure
  • Contribute with code and system design to the ecosystem of our services, frameworks and libraries
  • Develop maintainable services and libraries using Golang and AWS platform
  • Work with other groups at Twitch and Amazon to deliver new components of the Twitch video infrastructure

You Have:

  • BS or Masters in Computer Science with 5 years of relevant experience
  • Experience with WebRTC or other low latency media streaming protocols
  • Knowledge of data structures, algorithms, operating systems, and distributed systems
  • Go, Java, C/C++
  • Demonstrated experience with software testing methods such as unit testing, functional testing, stress testing, performance testing, and failure injection.
  • Experience being on call in support of a large scale distributed system

Bonus Points

  • Experience with RTMP or other broadcast protocols
  • Experience with computer networking
  • Tech Lead or Line Management experience

Perks

  • 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, gender identity, sexual orientation, age, marital status, veteran status, or disability status, or other legally protected 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 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?
A great first step is organizing your path to an offer. Check out Kiter for tools to get started!