Overview

Smoking Gun Interactive has an exciting opportunity for a Lead Software Engineer to join our team. In this role, you will work on varied areas of game programming in a highly collaborative environment, with a focus on server-side development experience. You will also be responsible for driving a team of programmers and producing high-quality, efficient, clean, and modular code.

Responsibilities:

  • Collaborating with the Technical Director to establish a unified technology vision for the project including writing and reviewing technical design documents
  • Providing and accepting feedback on all aspects of code quality (performance, readability, testability, design)
  • Working with Production in the creation and risk-management of project milestone goals and schedules
  • Collecting and documenting users’ requirements and developing logical specifications
  • Researching, evaluating, and synthesizing technical information to design, develop and test computer-based systems
  • Developing data, process and network models to optimize architecture and to evaluate the performance and reliability of designs
  • Planning, designing, and coordinating the development, integration, and operation of computer-based systems
  • Assessing, testing, troubleshooting, documenting, upgrading, and developing maintenance procedures for applications software
  • Co-coordinating teams in the development of software and integrated information systems, process control software and other embedded software control systems
  • Proactively identifying tasks/problems that need tackling, outside of known scheduled work, from refactoring to bug fixing

Qualifications:

  • 5+ years experience as a programmer in the game industry
  • Bachelor’s degree in Computer Science, Engineering or equivalent
  • Ability to estimate workload and execute on the work in the time estimated
  • Passion for playing and creating innovative games, must consider themselves a gamer
  • Expert working knowledge of C++ and Object Oriented Design
  • A strong understanding of general and 3D math, statistics, and probability
  • Excellent problem-solving abilities, and the ability to tackle hard problems in creative ways
  • Positive attitude with a desire to work within a team environment towards a common goal
  • The ability to be self-motivated and an independent worker
  • Excellent oral and written communication skills

Assets:

  • Experience with any of the following languages, C#, Java, Lua, HLSL/Cg shaders
  • Experience prototyping gameplay using Flash, C#, Java, C++
  • Experience with Mobile: iOS, Android,
  • Experience with Test Driven Development
  • Experience with Design Patterns
  • Experience with Visual Studio, Perforce
  • Experience with unit testing and TDD for server development
  • Experience with C#/Node.js server environments
  • Experience with running a live server environment and supporting operations
  • Experience with building load-testing frameworks and analyzing resulting data

Compensation:

  • Permanent Full Time Employment
  • Eligible for incremental raises in accordance with company policy on an annual basis.
  • Eligible for discretionary bonus based on employee and company performance.
  • Extended Health and Dental Benefits
  • Subsidization of MSP Premiums
  • LTD and Life Insurance Coverage
  • Vacation-2 weeks vacation per calendar year (Prorated for 1st Year)
  • Job based in Vancouver, British Columbia, Canada
  • Language of work: English