Who we are:
Demonware is an independently-run part of Activision Blizzard. We run every part of the players’ online experience, from logging in to matchmaking to climbing the leaderboards, for popular video game franchises such as Call of Duty, Tony Hawk Pro Skater, Crash Bandicoot and Skylanders.
The work we do together every day impacts almost half a billion players around the world. We solve big company challenges with a small company feel. We are technology-driven with a culture of openness. This means collaborating to solve interesting challenges, enjoying the freedom to talk to anyone, and always feeling respected. We take the work seriously; ourselves, not so much.
About This Role:
We are looking for a Senior Software Engineer and you will be joining the Gateway team, who are responsible for the gateway layer of Demonware's architecture. You would work on our gateway layer, which manages authentication, encryption and routing to all backend services, and manages millions of concurrent connections daily.
Our technology is always evolving to support more users, be more efficient and make life easier for other Demonware engineers who build services and game features. You would be helping to evolve it for the future.
Develop, maintain and evolve the gateway technology (written in Erlang) and its client-side connection management layer (in C++) according to Demonware’s standards of reliability and quality
Liaise with other teams on feature implementation, ensuring their requirements are met in a timely appropriate manner
Ensure all components are highly scalable and maintainable
Own the features and components developed
Partner with other engineers to troubleshoot problems with online and multiplayer features, and provide an excellent customer experience
Provide mentorship on best practices for backend development and integration
6+ years Software Development experience
Excellent problem solving and analytical skills
Excellent communication skills allowing effect interactions with internal/external teams
Love to code. Excellent development skills, knowledge of either or both of Erlang and C++ is a plus, but not required.
Previous experience designing APIs for use by other developers. Can understand and explain what makes a well-designed API
A good understanding of networking protocols: TCP, HTTP, TLS, etc.
Ability to analyze requirements and make corresponding design decisions
Has initiative, and is able to complete complex tasks with minimal supervision
Experience with game development or game engines
Experience with continuous integration and agile methodologies
Experience with building backend services, including skills in:
Python or a similar language
Linux & open-source technologies
Database design, including MySQL and NoSQL databases
Experience with large scale services (up to millions of concurrent users)