Software Programmer - C++
Location: Vancouver, British Columbia, Canada
Requisition Number: 159520
Position Title: Software Engineer II
We’re EA—the world’s largest video game publisher. You’re probably familiar with many of our titles—FIFA, Battlefield, Madden, Battlefront, The Sims, Need for Speed, Plants vs Zombies and Star Wars Galaxy of Heroes, to name a few. But maybe you don’t know how we’re committed to creating games for every platform—from social to mobile to console—to give our consumers that anytime, anywhere access they demand. What does that mean for you? It means more opportunities to unleash your creative genius, be inspired by those around you and ignite your path in any direction you choose.
Tasked with envisioning and executing on tools and technologies that drive world-class quality is our Central Development Services (CDS) team at Electronic Arts. This group is on the forefront of emerging technologies and tools that enable our 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.
We are looking for an experienced Software Developer to join our team and help reinvent the way EA collects and leverages data related to our development process. This engineer will have the opportunity to redefine workflows across EA, with their work touching every single member of our development and quality teams daily work, on every EA title. But our 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 our existing framework, but also invent their own, as our 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. Join us and help redefine the way EA makes games.
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:
- 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 .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
Community / Marketing Title: Software Programmer - C++
Electronic Arts Inc. is a leading global interactive entertainment software company. EA delivers games, content and online services for Internet-connected consoles, personal computers, mobile phones and tablets.
EEOText: EA is an equal opportunity employer. All employment decisions are made without regard to race, color, national origin, ancestry, sex, gender, gender identity or expression, sexual orientation, age, genetic information, religion, disability, medical condition, pregnancy, marital status, family status, veteran status, or any other characteristic protected by law. EA also makes workplace accommodations for qualified individuals with disabilities as required by applicable law.
Date Opened: 2020-01-17 15:59:15.153
EEO Employer Verbiage:
EA is an equal opportunity employer. All employment decisions are made without regard to race, color, national origin, ancestry, sex, gender, gender identity or expression, sexual orientation, age, genetic information, religion, disability, medical condition, pregnancy, marital status, family status, veteran status, or any other characteristic protected by law. EA also makes workplace accommodations for qualified individuals with disabilities as required by applicable law.