Our client is looking for an experienced Software Developer to join their team and help reinvent the way they collect, and leverage data related to the development process. This engineer will have the opportunity to redefine workflows across the studio, with their work touching every single member of development and quality teams daily work, on every title. But their work is just getting started, and this developer will have the chance to be innovative, with the opportunity to not only define the technologies that expand and grow existing framework, but also invent their own, as their work has been patented multiple times in the past.
The role requires a personality type that is outgoing, dynamic, enthusiastic and able to network across of groups and individuals to be part of a larger community.
AS A SOFTWARE ENGINEER YOU WILL:
- 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.
- Understand and follow standard software engineering processes and best practices for requirements, design, implementation and testing.
- Report regular status against assigned tasks and proactively identify project risks and issues.
- Monitor customer satisfaction and escalate any issues or improvement opportunities.
- Continuous, front-line communication with all customers.
- Set realistic milestones and work towards successful completion.
- Contribute to the company’s engineering strategies and initiatives.
- Where applicable, integrate systems and tools into partner or production game code in a controlled, professional manner.
YOU WILL NEED:
- Extensive technology industry experience, including experience developing client-server applications, web applications and/or services.
- Experience with .NET (ASP.NET, .NET MVC, .NET Core, etc.) and C# development
- Experience with C++ development, particularly in client-server applications.
- 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.
- Ability to work independently with minimal outside supervision with a focus on solving complex problems across multiple systems.
- Ability to multi-task, prioritize and be flexible – able to adapt plans and react to change, capable of delegating responsibility and triage to other engineers on their team as a leader.
- A strong desire to innovate and learn, move quickly, and be experimental in solutions.
BONUS POINTS FOR:
- 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