Bachelor's degree in Computer Science, Engineering, or equivalent
Experience shipping at least one game as a senior or lead programmer
Strong expertise in C++, Object Oriented Design, and general/3D math
Excellent problem-solving, communication skills, and a positive team-oriented attitude
Responsibilities
Collaborate with Technical Director to align on technology vision
Produce clean, efficient, and modular code
Document user requirements and develop specifications
Research and synthesize information for system development
Plan and coordinate the integration and operation of computer-based systems
Lead and mentor a team of programmers in software development
Maintain code quality through feedback and proactive problem identification
Benefits
10 days of vacation leave
5 paid days for personal leave
7 paid sick days
Life and Accident Insurance coverage
Long Term Disability (LTD) support
Comprehensive Extended Healthcare
Hybrid working arrangements
Opportunities for Training and Development
Full Job Description
Job Overview:
As a Lead Programmer at Smoking Gun Interactive (SGI), you're a talented and driven person who enjoys working on great projects. You have experience in a variety of areas of game development and are able and willing to work on any area of game programming needed, with a focus on full-stack development experience. You're experienced in mentoring and training programmers and are responsible for the oversight and management of a team of programmers.
*Whilst this position is being offered on a remote basis, we are only able to consider applicants who are currently located in BC, and ideally within the greater Vancouver area
Requirements
In this role, you will:
Collaborate with the Technical Director to establish a unified technology vision for the project including writing and reviewing technical design documents;
Produce high-quality, efficient, clean, and modular code;
Collect and document users' requirements and develop logical specifications;
Research, evaluate and synthesize technical information to design, develop and test computer-based systems;
Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs;
Plan, design and co-ordinate the development, integration and operation of computer-based systems;
Assess, test, troubleshoot, document, upgrade and develop maintenance procedures for applications software;
Lead and co-ordinate teams in the development of software and integrated information systems, process control software and other embedded software control systems;
Show proactivity in identifying tasks/problems that need tackling, outside of known scheduled work, from refactoring to bug fixing;
Be able to go above and beyond in their daily tasks as required;
Provide mentorship and training for programmers to create an atmosphere of cooperation and learning;
Provide and accept feedback on all aspects of code quality (performance, readability, testability, design);
Demonstrate forward thinking in regards to what impact design and implementation decisions will have on the overall project during each phase of development;
Work with Production in the creation and risk-management of project milestone goals and schedules;
Coordinate the hiring, supervising and managing of other members of the team.
To be successful in this role, you must have:
5+ years' experience as a programmer in the game industry and or related field;
A bachelor's degree in Computer Science, Engineering or equivalent;
Passion for playing and creating innovative games - you consider yourself a gamer;
Shipped at least one game as a senior or lead programmer;
A natural affinity for being strongly self-motivated and an independent worker;
Expert working knowledge of C++ and C#, Standard Library and Object Oriented Design;
Strong understanding of general and 3D math, statistics and probability;
Excellent problem-solving abilities, proven ability to tackle hard problems in creative ways;
Excellent oral and written communication skills;
A positive attitude with a desire to work within a team environment towards a common goal;
An impressive ability to estimate work load and execute on the work in the time estimated;
Contributed to planning product releases alongside production or project management;
Mentored multiple programmers in both coding capabilities and forwarding their career.
It would also be great if you had experience with:
Any of the following languages, Java, Lua, HLSL/Cg shaders;
Mobile: iOS, Android;
Test Driven Development;
Visual Studio, Perforce;
Unit testing and TDD for server development;
C# server environments, AWS, Azure, GCP;
Running a live server environment and supporting operations.
Benefits
10 days vacation leave
5 paid days personal leave
7 paid sick days
Life Insurance & Accidental Death & Dismemberment
Dependent Life Insurance
Long Term Disability (LTD)
Extended Healthcare Benefit
Dental Care
Hybrid working
Training & Development
Salary Range: 110,000 to 140,000 CAD
Role Information: EN Studio: Smoking Gun Location: Americas, Canada, Vancouver Area of Work: Game Development Service: Create Employment Type: Full Time Working Pattern: Remote