Twitch

Senior Software Engineer

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 operates the largest dedicated live video CDN in the world, routinely delivering over 25Tbps to more than 5MM concurrent viewers. The Video Distribution team oversees the software that operates that CDN, which includes everything from custom edge software that delivers video on thousands of hosts worldwide, to the graphing algorithms that manage our worldwide caching hierarchy, and to the highly complex and introspective algorithms that decide what server a user should be assigned when they start playback.

We are looking for engineers who are excited by the thought of working across the entire CDN stack, from service load-balancing, to performance optimization, and to backbone traffic management. You will be reporting to the Software Development Manager. You will help architect, develop, test, deploy, operate, and maintain our video software. As part of the team, we will work together to enable our broadcasters and viewers to create and interact in new ways.

This will role can be located in San Francisco, CA and Vancouver, BC. 

You Will:

  • Design, implement, and deploy new CDN features like dynamic content-replacement, ultra low-latency, and dynamic QoS load-balancing, traffic simulation, and multi-CDN
  • Create, test, and document services and their operational process
  • Help define the future of the Twitch video stack
  • Collaborate across the company to define, design, build and improve the video systems

You Have:

  • Experience building and scaling distributed, highly available systems
  • You know how to ship code in fast, iterative cycles
  • Excellent command of at least one programming language
  • Experience using Go, Python and C++) and technologies quickly
  • A Bachelor's, or preferably Master's, in Computer Science or 7+ years of equivalent experience

Bonus Points:

  • You know Go and have used it in production-ready systems.
  • You have used WebRTC to build real time video/audio systems.
  • You have some experience with network engineering and BGP
  • Start-up experience
  • Notable contributions to open source software projects. Send us a link to your contributions.
  • You've built APIs/interfaces that other programmers love to use.
  • You've written a Linux kernel module, distributed storage system, or software load balancer.
  • Experience with network programming

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!