Staff Machine Learning Engineer - Central Technology, Anti-Cheat
Required skills
- Vanguard
- kernel developers
- machine learning engineers
- data analysts
- software engineers
- competitive integrity
- automated detection
- decisioning systems
- anticompetitive threats
- player abuse
Nice to have
- adversarial detection
- information security
- cyber security
- fraud
- money laundering
- cheating
Role summary
Riot Games is seeking a Staff Applied AI/ML Scientist for their Anti-Cheat team. This role focuses on building and deploying machine learning models to detect cheating and abuse in their games. Responsibilities include designing real-time detection systems, developing scalable inference pipelines, engineering features from telemetry, establishing ML Ops practices, and analyzing player data to maintain a fair environment. The ideal candidate has a Bachelor's degree or equivalent experience, 6+ years in ML systems, with at least 3 years in applied modeling or research, and experience with specific ML domains like computer vision or agentic systems. Preferred qualifications include experience in adversarial detection and familiarity with databases and Windows internals. This role requires strong communication and mentoring skills, with a product owner's mindset to drive impact.
Anti-Cheat is Riot’s first defense against cheaters that don’t want to play fair. As a cross-discipline team of former cheaters, kernel developers, machine learning engineers, data analysts, and software engineers, they make products like Vanguard to detect and ban the bad guys across all of Riot’s competitive titles and platforms, staying vigilant to whatever shape they’ll take in response. From beaming bots to scorching scripters, anti-cheat enables Riot’s game teams to take on competitive genres and design rewarding systems that would otherwise be too vulnerable to fraudsters and cheaters. Riot Machine Learning Engineers on Anti-Cheat are builders, trailblazers, and stewards of competitive integrity. We protect the legitimacy of Riot’s multiplayer games and player experience by building automated detection and decisioning systems to address a wide range of anticompetitive threats. As a Staff Applied AI/ML Scientist on Anti-Cheat, you will build machine learning driven detection systems to identify players engaging in cheating and other forms of abuse, and will develop agentic systems for reviewing and and actioning these players. You will partner with anti-cheat experts as well as game product, engineering, and insights teams to ensure that all Riot games afford safe, fair environments for players to compete and thrive. You will report to the Senior Manager of Anti-Cheat Data and Analytics.
Responsibilities:
Required Qualifications:
Desired Qualifications:
For this role, you'll find success through craft expertise, a collaborative spirit, and decision-making that prioritizes the delight of players. We will be looking at your past studies, experience, and your personal relationship with games. If you embody player empathy and care about players' experiences, this could be your role!
Our Perks:
Riot focuses on work/life balance, shown by our open paid time off policy and other perks such as flexible work schedules. We offer medical, dental, and life insurance, parental leave for you, your spouse/domestic partner, and children, and a 401k with company match. Check out our benefits pages for more information.
At Riot Games, we put players first. That mission drives every decision in our quest to create games and experiences that make it better to be a player. Whether you’re working directly on a new player-facing experience or you’re supporting the company as a whole, everyone at Riot is part of our mission. And just like in our games, we’re better when we work together. Our goal is to create collaborative teams where you are empowered to bring your unique perspective everyday. If that sounds like the kind of place you want to work, we’re looking forward to your application.
It’s our policy to provide equal employment opportunity for all applicants and members of Riot Games, Inc. Riot Games makes reasonable accommodations for handicapped and disabled Rioters and does not unlawfully discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity or expression, national origin, age, handicap, veteran status, marital status, criminal history, or any other category protected by applicable federal and state law. We consider for employment all qualified applicants, including those with criminal histories, in a manner consistent with applicable federal, state and local law, including the California Fair Chance Act, the City of Los Angeles Fair Chance Initiative for Hiring Ordinance, the Los Angeles County Fair Chance Ordinance for Employers, the San Francisco Fair Chance Ordinance, and the Washington Fair Chance Act.
Per the Los Angeles County Fair Chance Ordinance, the following core duties may create a basis for disqualifying candidates with relevant criminal histories:
These duties are directly related to essential operations, safety, trust, and compliance obligations within our organization. Please note that job duties may evolve based on business needs and additional responsibilities may be assigned as necessary to maintain operational efficiency and security.
Sample Riot Games interview questions
- 1
Create a real-time data feed for stock prices.
system designmedium - 2
Buildings with an Ocean View Find all buildings that have an ocean view. Input: heights = [1,2,3,4] Output: [3] Explanation: Since the ocean is to the right, only the rightmost tallest building (index 3) is not blocked by any others.
codingmedium - 3
Find the majority element in an array. Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array. Input: nums = [3, 2, 3] Output: 3 Explanation: The number 3 appears 2 times, which is strictly greater than n/2 (1.5).
codingmedium - 4
Dot Product of Two Sparse Vectors Calculate the dot product of two sparse vectors. Input: nums1 = [0,1,0,0,2], nums2 = [0,0,0,0,5] Output: 10 Explanation: Multiplies the aligned non-zero values (2 * 5) and ignores all the zeros, yielding a dot product of 10.
codingmedium - 5
Maximum Subarray Sum Find the maximum subarray sum in an integer array. Input: nums = [-3,-4,-1,-2] Output: -1 Explanation: Kadane's algorithm correctly identifies that the single isolated element -1 provides the highest possible sum.
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Senior Manager, Machine Learning Engineering - League of LegendsRiot Games · Remote · Remote
- Sr. Principal Technical Producer - Developer ConnectionsRiot Games · Los Angeles, CA · Onsite
- Senior Applied AI/ML Scientist - Retailer GrowthFaire · Remote · Remote
- ML Scientist I/II, AI for Protein EngineeringLila Sciences · San Francisco, CA · Onsite
Staff Applied AI/ML ScientistJudi Health · Remote · Remote
Applied ML Scientist (Staff / Principal)Genesis Molecular AI · San Mateo, CA · Hybrid
