Backend Programmer - Node.js - Internship - Winter 2020

  • Montreal, QC, Canada
  • Intern

Company Description

Based in Montreal, Behaviour Interactive is one of the largest independent game developers in North America. Anchored in the industry for more than 25 years now, its success is characterized by its versatility to create games based on leading brands, but also original IP’s across all major platforms. Behaviour is a Canadian company with an entrepreneurial culture that promotes opportunities and personal development at the same time that giving their employees the feeling of making a difference.

Job Description

We develop our own backend solution to support many of our games. Within this framework, the responsibilities and requirements are as follows.

Responsibilities:

  • Develop new server features and maintain existing code base;
  • Write the specifications before undertaking the development of new features;
  • Diagnose and solve problems to improve code robustness;
  • Work closely with other programmers to provide gaming server-compliant services;
  • Develop and perform functional and load testing;
  • Optimize the code, considering that the live and online status of the game.

Qualifications

Requirements:

  • Experience developing high-speed server applications using Javascript / Node.js;
  •  Experience and knowledge of the REST and WebSocket communication protocol.
  • Work experience (development and deployment) with web services technologies such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure;
  • In-depth experience and knowledge of relational and non-relational databases (DynamoDB, MongoDB, MySQL or other);
  • Extensive experience and knowledge of data modeling with a focus on performance and maintenance;
  • Experience in load testing with distributed load generators.

Assets:

  • Development experience in a Linux environment;
  • Web application development experience with React and / or Angular;
  • Experience with AWS Kinesis, RabbitMQ or other messaging systems;
  • Experience profiling and optimizing server systems (networks, CPU, memory, IO);
  • Server / client development experience, including security and network traffic management.