Software Development Intern


Demonware provides online software and services for gaming. We design, develop, and host customized services such as matchmaking, microtransactions, player profiles, and data analytics for some of the most popular video game franchises, including Call of Duty and Destiny.

We are a technology-driven company with a commitment to openness. This means collaborating to solve problems, the freedom to talk to anyone, and best idea wins. We take the work seriously; ourselves, not so much.

Demonware has offices in Dublin, Ireland; Vancouver, Canada; and Shanghai, China, and is a wholly-owned subsidiary of Activision Blizzard, Inc.

Big company challenges, small company culture:
Demonware hosts millions of concurrently connected users. We’re a technology-driven company, with core focuses on C++, Python, Erlang, Linux, and MySQL. We solve tough problems on a day to day basis, and interns have a big impact on what we do. We’ve had interns commit code and have it running in production within the first 3 days of joining.

We also like to have fun while we’re working hard. We wear what we want to work and we have flexible hours.

“We get to work with large distributed systems, debug them, and have to visualize them in our heads – things you wouldn’t have exposure to or get to touch in any other workplace. The work is challenging, and you get to work alongside highly experienced people…”
- Tyler Dixon, previous intern, 16 months

The Role:
  • Writing client− and server−side code to support multiplayer features, as well as tools that help game studios integrate multiplayer features into their title.
  • Developing plugins and extending our automation framework
  • Developing core features for our allocation and provisioning systems
  • Creating tools to automate all the things!
  • Excellent Programming skills
  • A good grasp of the fundamental algorithms and data structures
  • Familiar with Linux
  • Excellent debugging and analytical skills
  • Can identify complex problems and find simple solutions
Additional assets:
  • Understanding of SQL−based databases (MySQL preferred)
  • Has an understanding of networking technologies, e.g. TCP, UDP
  • Has experience with multi−platform software development
  • Has experience with security and scalability
  • Have an understanding of SQL and relational databases
  • Have experience developing REST web services
  • Familiarity with the physical world, switches, servers (x86 architecture for example)
All candidates must:
  • Be familiar with source control (Git preferred)
  • Work comfortably in a Linux/Unix environment (CentOS/Ubuntu)
  • Be able to clearly communicate technical concepts in both Mandarin and English
  • Enjoy working as part of a team in a high-pressure environment
  • Be self-motivated, and can take on projects with minimal supervision
The ideal candidate may not have the complete list of bullet points mentioned above, but more generally speaking, we’re looking for the same qualities that Joel Spolsky looks for: “smart, and get things done”. For that reason, we welcome you to apply even if your work experience is limited and you haven’t yet built up a mile-long resume.

Please list any additional experience you have with Linux at home (for example, any projects you have done), any programming-related hobbies and the resulting projects, any interesting school projects you worked on, and any open source involvement and a link to your code repository and / or blog.

Position Type: Internship: 4 Months / 8 Months / 12 Months / 16 Months
Salary: Competitive
Hours per week: 35-40
Location: Shanghai, China
Start Date: January or February, 2017

How to submit your application:
Please email your resume to by submitting:
  • Resume
  • Cover letter (optional but preferred)
  • Transcripts of grades from your University
As part of the application process, you will need to complete a Coding Challenge. Once you have completed the test, your results will be reviewed by our hiring managers along with your resume/cover letter/transcripts.

Below you will find a link to the Codility site where the challenge is hosted. You will need a full 135 minutes of uninterrupted time to complete the challenge. We recommend that you try the demo on the site before attempting the official test.

Once you click on the actual test link below you will see welcome screen which contains an option to "Try demo" button.

You will need to complete the actual test in order for us to review your application.

Demonware Codility Test:

The interview:

The interview will be 1 hour, either in person (ideally) or via phone or skype for out of town applicants. For the in person interview, there is no need to wear a suit; ours is a very informal environment.

The team will be interested in learning about recent projects you have been involved in, as well as your technical skills (please highlight any experience you have with Python or Linux - these are not required but highly desirable). We’re looking for smart people who get things done.

  • Dublin

  • Vancouver

  • Shanghai