Senior Software Engineer - Riot Developer Experience (Los Angeles)
Riot Games was founded in 2006 by Brandon Beck and Marc Merrill with the intent to change the way video games are made and supported for players. In 2009, Riot released its debut title League of Legends and over 100 million people now play the game every month. Whether you're in Rio, Seoul, or Moscow, you can find an excited and engaged community of League players. Delivering content to a global audience of millions of players whilst also building new games affords Riot's Engineering discipline with a mountain of exciting and technically complex challenges. That's where you come in.
Riot Software Engineers bring deep knowledge of specific technical areas but also value the opportunity to work in a variety of broader domains. As a Senior Software Engineer, you’ll work with both new and current technology, creating innovative solutions to overcome high-volume obstacles and to deliver player value.
The Infrastructure Platform (IP) Initiative is a part of our Platform Group that builds and hosts global game services at scale, while also developing the infrastructure around it through the use of third party technologies partnered with proprietary software.
Riot Developer Experience (RDX) within Infrastructure Platform is a high impact team that allows developers around the globe to deliver value to players. We build tools, products, and services that automate and interact with infrastructure so that developers can hone in on their areas of expertise rather than needing to learn the nuances of infrastructure development. RDX is built around a set of different problem spaces and an RDX engineer may be required to go deep on one or more of them:
- Application Persistence - high-performance, cost-effective, managed persistence solutions for services across Riot
- Continuous Service Delivery - efficient pipeline from code to production including automation and artifact management
- Operability & Monitoring - how do we discover, operate, and monitor our entire ecosystem of microservices
- APIs and Extensibility - powerful extension points on top of which for internal and external developers to build enriching tools
- Application Connectivity & Edge - how do services communicate with each other in a secure, fault-tolerant, and efficient way
- Service Lifecycle - tooling and services to deploy and run containerized microservices at scale regardless of underlying infrastructure
RDX engineers work together in high-performing teams and report to an engineering manager who cares deeply about the engineer’s journey at Riot and broader career in gaming and tech. Beyond hard engineering roles, RDX teams are also supported by a set of product and delivery roles.
As a senior member of the RDX team, you will have the chance to work within teams across all of Riot, and learn the intricacies of their software and systems in order to better understand their needs and provide tailored solutions. You have a passion for building products for other developers, as well as an interest in the game development lifecycle. You’ll be relied on to provide engineering leadership, go deep into new and existing problem spaces, and to mentor and elevate those around you.
- Create and operate tools and services that help accelerate all of Riot
- Lead the design and implementation of new software components
- Find and realize deeply innovative and cost effective solutions in a variety of problem spaces such as application persistence, deployment automation, service discovery, and monitoring
- Teach, support, and guide other engineers to elevate the overall technical bar and establish strong lasting mentorship relationships
- Provide ongoing maintenance, support and enhancements in existing systems and platforms
- Be on rotational on-call for live product support and operational triage
- Provide thorough and meaningful code review for other members of the team
- Produce comprehensive user documentation around your implemented solutions
Applicable Experiences, Skill Sets and Technologies
- Bachelor's or Master’s degree in Computer Science or a related field
- 6+ years of relevant experience
- Depth of experience with designing, implementing, prioritizing and maintaining high-capacity, high-availability, and high-performant software
- Strong understanding of distributed systems, microservices, and software at high scale
- Proven ability to mentor and lead others
- Ability to learn new technologies quickly and work across a variety of problem domains
- Identifying and resolving systemic issues across the product and team
- Participating in interviewing and acting as a key influencer for hiring decisions
- Experience working in container-based ecosystems and with a container scheduler (e.g. Marathon, Mesos, Kubernetes, GKE, Amazon ECS)
- Experience with distributed systems, specifically microservices
- Experience with CI/CD pipelines, ideally Jenkins
- Understanding of networking - HTTP down to the network layer (TCP/IP, routing, etc)
- Understanding of relational databases like MySQL
- Understanding of software performance and impact of latency in fast paced online games
- Excellent written and verbal communication skills for technical and non-technical audiences
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, including the City of Los Angeles’ Fair Chance Initiative for Hiring Ordinance relating to an applicant's criminal history (LAMC 189.00).