# Software Developer - Battlefield QV

**Company**: Electronic Arts
**Location**: Montreal
**Work arrangement**: hybrid
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Technology
**Ticker**: EA
**Wikidata**: https://www.wikidata.org/wiki/Q173941

**Apply**: https://jobs.ea.com/en_US/careers/JobDetail/Software-Engineer/213141
**Canonical**: https://yubhub.co/jobs/job_21b20e0c-c8a

## Description

Electronic Arts creates next-level entertainment experiences that inspire players and fans around the world. Our Quality Verification and Standards (QVS) team is an important part of our development process, consistently delivering actionable insights that support our game teams to optimize software performance and elevate gameplay.

As a Software Developer within the Quality Verification Engineering (QVE) Team, you will report to the Engineering Manager. You will work closely with the Battlefield Franchise to design, implement, and maintain AI bot systems for automated multiplayer playtesting, ensuring realistic simulation of player behaviour across game modes and maps.

Responsibilities:

- Design, implement, and maintain AI bot systems for automated multiplayer playtesting, ensuring realistic simulation of player behaviour across game modes and maps.

- Develop and iterate bot behaviour systems - including movement, combat, interaction, and coordination - using a hierarchical architecture shared across titles.

- Collaborate with designers and QA engineers to translate gameplay scenarios into testable bot behaviours, using visual scripting-based authoring tools.

- Build telemetry pipelines that capture detailed per-bot event data, enabling downstream analysis, regression testing, and behaviour validation.

- Investigate and resolve bot failures surfaced during automated playtest sessions, including pathfinding edge cases, network desynchronisation, and complex gameplay system interactions.

- Contribute to architecture modernisation efforts, refactoring monolithic systems into composable, maintainable patterns and eliminating cross-module duplication.

- We welcome prior ML experience, but do not require it, as you participate in exploratory research on machine learning-driven bot behaviours, including early-stage reinforcement learning experiments.

- Review peers' code, provide constructive feedback, and contribute to shared documentation and engineering best practices.

Qualifications:

- 5+ years of software engineering experience with computer science foundation.

- Proficiency in C++ is required; experience with game engine internals (entity systems, spatial queries, physics integration) is a strong asset.

- Experience designing or working with AI behaviour systems (e.g., finite state machines, behaviour trees, utility-based systems).

- Experience with automated testing infrastructure - playtesting pipelines, telemetry systems, or replay-driven regression testing - is a significant plus.

- Demonstrated ability to improve maintainability in complex codebases: extracting abstractions, reducing duplication, and modernising legacy patterns.

- Familiarity with game development pipelines and shipped game engines (e.g., Frostbite, Unreal, or Unity) would be an asset.

- We welcome exposure to machine learning concepts - particularly reinforcement learning - as a bonus; no prior production ML experience is required by us.

## Skills

### Required
- C++
- Game engine internals
- AI behaviour systems
- Automated testing infrastructure
- Machine learning concepts

### Nice to have
- Reinforcement learning
- Visual scripting
- Entity systems
- Spatial queries
- Physics integration
