Intermediate Software Engineer (C++/C#)

Intermediate Software Engineer (C++/C#)

Vancouver, British Columbia  - Permanent

Job Description

Our global software client delivers products, content, and online services across a wide spectrum of platforms. They've made their name in the gaming domain, and are seeking a Software Engineer to be on the forefront of emerging technologies and tools that enable their teams to create and code better and more efficiently. Working as one team they are pushing the envelope and evolving the Quality function, designed to be nimble, innovative and preventive, rather than solely detective.

Must Have Skills:

What you will do:

· Develop and maintain automation, tools and services for multiple projects.
· Write and maintain scalable, testable, versioned, and documented code.
· Perform code reviews and be willing to pair and mentor other team members regularly.
· Maintain tools, integration, and technologies to support highly reliable environment.
· Monitor tools/service usage and assess return on investment.
· Own all aspects of a tool or service, working with customers and technical leads to achieve the company’s strategic goal.
· Where applicable, integrate systems and tools into partner or production game code in a controlled, professional manner.

What you bring to the table:

· A minimum of 4+ years of technology industry experience, including a minimum of 2+ years of experience developing client-server applications, web applications and/or services.
· Experience with C++ development, particularly in client-server applications.
· Experience with .NET (ASP.NET, .NET MVC, .NET Core, etc.) and C# development
· Experience with unit and functional test design and implementation, particularly in distributed systems environments.
· Bachelor’s degree or higher in Computer Science, Engineering or Software Engineering or equivalent combination of education and experience.

Nice to Have Skills:

Bonus Points:

· Experience working with unit testing frameworks like xUnit and Moq a strong plus
· Experience working with distributed systems and familiarity with distributed computing concepts (message queues, service discovery, containerization, etc.) is a plus
· Experience developing multi-threaded or concurrent systems a plus
· Experience or desire to learn functional programming concepts through languages such as Scala, F#, Erlang, or others is a plus
· Experience with Video Game, Real-time System or Embedded Software development is a plus


Starting: ASAP