Riot Games was established in 2006 by entrepreneurial gamers who believe that player-focused game development can result in great games. In 2009, Riot released its debut title League of Legends to critical and player acclaim. As the most played video game in the world, over 32 million play every month. Players form the foundation of our community and it’s for them that we continue to evolve and improve the League of Legends experience.
We’re looking for humble but ambitious, razor-sharp professionals who can teach us a thing or two. We promise to return the favor. Like us, you take play seriously; you’re passionate about games. We embrace those who see things differently, aren’t afraid to experiment, and who have a healthy disregard for constraints.
That’s where you come in.
As a Senior Software Engineer, you will be responsible for the technical soundness, scalability and operational effectiveness of our messaging and presence system based on ejabberd. While our interview process will emphasize problem solving, design and programming ability, it will equally focus on your ability to provide technical leadership and guidance to a team of high-caliber engineers. This represents a unique opportunity to help drive the evolution of our messaging platform.
As a software engineer with experience in Erlang and ejabberd, you would be responsible for evolving the core messaging and presence platform in a large scale distributed environment. Your responsibilities will include designing and developing new features and capabilities in the Erlang based components with a focus on aggressive growth and scale.
Research, design, development, test and support of Erlang based software and ejabberd
Architect and develop scalable, distributed solutions for emerging platform features
Develop solutions using distributed concurrent programming, software packaging and release
Write code in Erlang and occasionally in other languages such as Java
Evaluation of open source Erlang killer apps
Mentoring and coaching junior staff
Several years of experience developing software, preferably in an agile environment
BS in engineering, preferably Computer Science. Master’s Degree a plus
Be passionate about Erlang
Superstar programming skills in Erlang
Experience with ejabberd, Mnesia, MySQL
Knowledge of relational databases and concepts
Experience with other Programming languages
Basic understanding of TCP/IP stack and networking concepts
Knowledge of Distributed Computing, and revision control software
Experience with interconnection protocols (HTTP, XMPP, XML-RPC)
Experience with mainstream operating systems, including Linux
Experience with Agile Methods, including Test Driven Development
Experience of planning, estimating and leading a team is an advantage
Good verbal and written communication in English
Must be team-oriented, possess a positive attitude and work well with others
Ability to work independently and deliver on schedule with little supervision
Ability to quickly understand and articulate interactions in a complex technical environment
Able to plan and execute own tasks in timely manner
Passionate about software development, willing to learn new technology, self-motivated with high technical competency