Senior 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.
*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 In this role, you will:
Collaborate with the Lead Programmer & 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;
Show proactivity in identifying tasks/problems that need tackling, outside of known scheduled work, from refactoring to bug fixing;
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).
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++ (C# is a nice to have), 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 setting towards a common goal;
Impressive ability to estimate work load and execute on the work in the time estimated.
It would also be great if you had experience with:
Any of the following languages, Java, Lua, HLSL/Cg shaders;
Test Driven Development;
Unit testing and TDD for server development;
Running a live server environment and supporting operations.