Software Developer/ Engineer/ Architect

Senior Software Engineer, Gateway

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.

 

Day to Day:

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

Your Profile:

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

 

Nice to have:

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)