Software Engineer, Recommendations - Machine Learning

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 growing at a rapid clip, connecting millions of creators with millions of viewers. Connecting the right viewers to the right creators helps build the community and strengthens the service. A large part of this discovery is guided by Machine Learning (ML) based recommendation systems. Twitch is looking for a Software Engineer to join our Recommendations team. You will report to a recommendations manager and work with applied scientists and other software engineers to develop next-generation recommendation systems using state-of-the-art in machine learning (ML). Your work will cross teams and roles and you'll see it used to power discovery products across Twitch.

Your work will directly help Twitch viewers and content creators build thriving communities by helping viewers find relevant content and helping creators get discovered.

You Will:

  • Develop new product features that are powered by ML to help connect viewers and creators
  • Design and develop scalable infrastructure that enables deploying machine learning models on petabytes of data
  • Stay up-to-date on new techniques and technologies, and identify when and when not to apply them
  • Produce clean, high-quality, maintainable and well tested code

You Have:

  • Knowledge of data structures and algorithm fundamentals
  • Experience writing quality software in any of the following languages: Python, Java, Golang, Ruby, C/C++,
  • Knowledge of building, testing, and supporting distributed services and data pipelines in a cloud environment
  • 3+ years of experience

Bonus Points

  • Experience with one of the following: Recommendation systems, classification, ranking systems, natural language processing, targeting systems or similar
  • Experience with relevant technologies such as deep learning frameworks (e.g. TensorFlow, PyTorch) and ML development and deployment services and systems (e.g. SageMaker, MLflow)
  • Experience building and maintaining ML systems in production environments


  • 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 Los Angeles 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.

Job ID: TW6896

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 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 Software Engineer?
A great first step is organizing your path to an offer. Check out Kiter for tools to get started!