Software Engineer - RDX: Continuous Service Delivery
In 2009, Riot released its debut title League of Legends to worldwide acclaim. The game has since gone on to become the most played PC game in the world and a key driver of the explosive growth of esports. 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 an integral member of the RDX: Continuous Service Delivery team, you will be on the front lines of feature and game development at Riot. Your work will directly improve the efficiency at which our product and game teams can deliver their ideas into the hands of players. You will work every day with 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 see the value in solving efficiency and operational problems and have a strong desire to grow into the ability to unlock the potential of your engineering organization. You'll provide guidance to other engineers, create and develop documentation for ongoing support, and also participate in an on-call rotation in order to provide support and maintain high availability for our products and services.
- Be comfortable at cross-platform, cross-technology CI/CD capabilities in languages like Java, Go, C# and C++
- Create and operate tools and services that help accelerate all of Riot
- Able to participate in, challenge and enhance designs so that you can implement them effectively
- 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
- Develop APIs that allow our developer community to extend and build tools and services that interact with game services in a secure way
- Provide ongoing maintenance, support and enhancements in existing systems and platforms
- Be on rotational on-call for live product support and operational triage
- Produce comprehensive user documentation around your implemented solutions
- Mentor and provide technical guidance to more junior engineers
- 4+ years of professional software engineering experience
- Experience designing, implementing, prioritizing and maintaining high-capacity, high-availability, and scalable software
- 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
- Meaningful and demonstrable experience with Jenkins and it’s modern features (Pipelines, Groovy)
- Experience managing, transporting and storing large numbers of Artifacts and Dependencies ( Docker Images, Java JARs, Nuget ) and associated tools (Artifactory, Nexus or similar)
- Experience in Site Reliability Engineering or functional experience tuning large scale deployments, applications or operating systems.
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).