You are using the web browser we don't support. Please upgrade or use a different browser to improve your experience.
"icon arrow top"

Generalist Programmer

5059/6301/138499

Hinterland Games

Negotiable

Vancouver, Canada

Canada

Programming and Development

15/06/2020

24/07/2020

Mid-Senior Level

Permanent | Full Time

No

The Long Dark has been in active development for nearly seven years, and yet every year the game offers a better experience for our players – more gameplay depth, more content, better realization for the characters and world, more platforms, and somehow, also better performance! None of these things are possible without our strong team of programmer generalists whose technical prowess is at the heart of what we build at Hinterland.

Some examples of features that generalist programmers on our team have supported the implementation of include:

  • A unified first-person animation system to simplify the addition of tools the Survivor can hold in their hands, such as Flares, Lanterns, Bow, etc.

  • A wildlife management system to coordinate the AI behaviours of the different types of animals.

  • A cinematic pipeline that integrates and extends our visual scripting system, Unity Timeline, and Wwise audio tools to provide high-quality cinematic sequences and branching character dialogue.

We have great ambitions for The Long Dark and future experiences we’d like to make, so we want to add some additional experienced programming talent to our development team. We are relatively small and like to work on a variety of things, so we look for strong "T-shaped" generalists who can jump in and support a range of feature development, but also have particular strengths in areas such as UI/UX, animation, gameplay, or online systems. (T-shaped refers to people who have strong general skills or knowledge, but also have one or two areas for which they have particularly deep expertise.)

We work hard, are proud of the things we create, and we care about each other and our players. To succeed with us, you need to be a strong communicator and an autonomous programmer who can work to a clear direction. You need to take pride in your work and care about the success of the team, studio, and our players. You must be excited to work on a variety of systems and technical tasks but also be happy to embrace a particular focus when required. We want people who enjoy working in a cross-disciplinary environment and relish collaborating within an established framework. We prize iteration as a path to achieving quality and need people who constantly want to improve themselves, their work, and the experiences we make for our players. And of course, you need to be fluent in C# or C++.

The ideal candidates have an intimate knowledge of the Unity engine, having worked with it for three or more years. You will also have recent game development experience on PC or console titles having shipped at least one that you’ve seen through multiple post-launch updates. Given the importance of the programmer role in our studio, and the foundational aspect of the technical work you will produce with us, we need candidates with significant experience working closely with other disciplines to support their technology needs. As we work on highly iterative experiences that we build with feedback from a live player community, we need people who embrace risk-taking but also appreciate the importance of ensuring as stable and bug-free an experience for our players. This is not a role for programmers who are afraid of iteration or who dislike a dynamic development environment. A function of trying to do things differently means we are often “on the edge” and you have to be comfortable with that. This means we have to be willing to take risks, learn from failures, and be comfortable functioning in an environment where not all the answers are known.

In this role, you’ll need to be able to work autonomously within a cross-disciplinary feature group, based on guidance provided by the project Technical Lead. We want someone who can grow with the studio, to work with us on The Long Dark, and beyond. We run a flexible working environment, and therefore focus on productivity and quality of output vs. "hours in the chair". This means everyone we hire has to be motivated, professional, and need the minimum amount of hand-holding, while still being able to work to clear direction and check in regularly for feedback. Effective, positive communication skills and a team-first attitude are crucial to your success.

Responsibilities:

  • Work closely with the animation, art, audio, and design teams to iterate on gameplay features and tools that allow them to effortlessly apply their vision for our games. 

  • Work with our test and player support teams to identify and fix issues in the game and provide them with tools to help them find problems earlier. An example of this is a tool we’ve built to create a robust save library accessible from in-game to simplify debugging mission flows across all of our supported platforms.

  • Analyze design specs and tool requests for technical feasibility and provide constructive feedback about the technical constraints on the system. This involves suggesting alternative solutions when part of a feature might be too risky or not performant enough and providing reasonably accurate estimates to aid in planning update timelines.

  • Help bring our games to new platforms. This involves a significant amount of optimization work which we accomplish by integrating new engine features that might not have been available when we first started work on a game. An example of this is refactoring some of our heavier systems to make use of Unity’s C# Job System.

Requirements:

  • 7+ years of experience working as a programmer in production game development environments; ideally you have shipped multiple successful titles across multiple platforms as part of teams over 20 people

  • Strong communicator (written & oral) who is diligent, productive, and player-centric

  • Ability to work with accountability in a high-autonomy environment

  • T-shaped generalist (strong general skill + deep knowledge of one or two areas)

  • Proficient with C# or C++

  • Comfortable working within a large, mature codebase

This is a full-time, salaried position with benefits based out of our historic Gastown Vancouver location. We offer a mature, inclusive work environment with structured on-site time balanced with flexible work-from-home opportunities. We are open to relocating the ideal candidate but will give preference to local candidates whenever possible. Candidates who are legally permitted to work in Canada are preferred, but our first priority is hiring the best people we can find. We are a relatively small team and intend to stay that way, so everyone we hire needs to be exceptional.

If working with other highly talented developers in a small-team environment sounds appealing, we want to hear from you! 

Our People Matter

Hinterland is an equal opportunity employer. The studio is comprised of a multinational, multi-ethnic team. We value a diversity of backgrounds. We also value veteran experience and a strong work ethic that supports the studio’s culture and values. Our work ethic and production methodology is built around a “high autonomy/high accountability” paradigm. We embrace a flexible working environment that affords our team members the opportunity to enjoy family time and exercise self-care. We balance this out with very high expectations about the quality of output from everyone on the team. We offer a variety of perks but do not believe perks are the same thing as culture.

(Also, everyone who joins our team gets a pair of slippers. They are nice slippers.)



Keep Calm and waka waka...