Apply on EA Sports’s site →

Senior Gameplay Software Engineer - EA SPORTS™ NHL

EA Sports · Vancouver

Senior Engineering $141K–$204K Posted 2026-08-21 Full time
Apply on EA Sports’s site →

Senior Gameplay Software Engineer - EA SPORTS™ NHL - 215810 - Electronic Arts

/* ===========================================================================

ELEMENTS

--------------------------------------------------------------------------

Buttons

: Actions

: Add

: Delete

: Edit

: Remove

: Iconographics

: Close

: Vendors

: Registration/application

: Customizables

External

: Thumbnails

Fields

COMPONENTS

--------------------------------------------------------------------------

Navigation

: Menu (Dynamic)

MODULES

--------------------------------------------------------------------------

Banner

: Home

PAGETYPES

--------------------------------------------------------------------------

Login

=========================================================================== */

/*

ELEMENTS/Buttons: Actions

*/

/* to de deleted after we migrate to typographic icons (this is here and not in core.css due to a FF bug) */

.action:before,

.addDatasetRow:before,

.removeDatasetRow:before,

.removeFile:before,

[id*="dropboxRemove_"]:before,

.fileInputCancelButton:before {

mask-image: var(--action__icon--background--image);

-webkit-mask-image: var(--action__icon--background--image);

}

/*

ELEMENTS/Buttons: Actions: Add

*/

.addDatasetRow,

.action--add {

--action__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--add.webp);

}

/*

ELEMENTS/Buttons: Actions: Delete

*/

.action--delete {

--action__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--remove.webp);

}

/*

ELEMENTS/Buttons: Actions: Edit

*/

.action--edit {

--action__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--edit.svg);

}

/*

ELEMENTS/Buttons: Actions: Remove

*/

.removeDatasetRow,

.removeFile,

[id*="dropboxRemove_"],

.fileInputCancelButton,

.action--remove {

--action__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--remove.webp);

}

/*

ELEMENTS/Buttons: Iconographics: Close

*/

.ui-button.ui-dialog-titlebar-close,

.TIN_display_CloserButton_NotificationAndDialog,

.autoschedule_editor_availability_header_Container_HeaderButton {

--button__icon--background--image: url(https://jobs.ea.com/portal/4/images/close.svg);

}

/*

ELEMENTS/Buttons: Vendors: Registration/application: Customizables

*/

.methodButton--later {

--buttons__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--later.svg);

}

.methodButton--file {

--buttons__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--file.svg);

}

.methodButton--paste {

--buttons__icon--background--image: url(https://jobs.ea.com/portal/4/images/icon--paste.svg);

}

/* to de deleted after we migrate to typographic icons (this is here and not in core.css due to a FF bug) */

.methodButton--later:before,

.methodButton--file:before,

.methodButton--paste:before {

mask-image: var(--buttons__icon--background--image);

-webkit-mask-image: var(--buttons__icon--background--image);

}

/*

ELEMENTS/Icons: Shrare buttons

*/

:root {

--icon--share--whatsapp: url(https://jobs.ea.com/portal/4/images/icon--share--whatsapp.svg);

--icon--share--linkedin: url(https://jobs.ea.com/portal/4/images/icon--share--linkedin.svg);

}

/*

ELEMENTS/External: Thumbnails

*/

:root {

--thumbnail--border--radius: 100%;

--thumbnail--border--width: 0;

--thumbnail--border--color: transparent;

--thumbnail--width: calc(var(--sizing--basis) * 8); /* 3.2rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 8); /* 3.2rem +doc+ */

}

/*

ELEMENTS/External: Thumbnails (Within LAYOUTS/Structures: Section)

*/

.section__header__image {

--thumbnail--width: calc(var(--sizing--basis) * 14); /* 5.6rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 14); /* 5.6rem +doc+ */

}

/*

ELEMENTS/External: Thumbnails (Within COMPONENTS/Cards)

*/

.table--cards {

--thumbnail--width: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

}

/*

ELEMENTS/External: Thumbnails (Within COMPONENTS/Navigation: Menu)

*/

.menu__link {

--thumbnail--width: calc(var(--sizing--basis) * 6); /* 2.4rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 6); /* 2.4rem +doc+ */

}

.submenu__link,

.portalLanguages__link {

--thumbnail--width: calc(var(--sizing--basis) * 4); /* 1.6rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 4); /* 1.6rem +doc+ */

}

/*

ELEMENTS/External: Thumbnails (Within WIDGETS/Forms: Types: FileField)

*/

.FileField {

--thumbnail--background--image: url(https://jobs.ea.com/portal/4/images/icon--user.svg);

}

/*

ELEMENTS/External: Thumbnails (Within MODULES/Banner)

*/

.banner {

--thumbnail--border--width: .2rem;

--thumbnail--border--color: var(--color--white);

--thumbnail--width: calc(var(--sizing--basis) * 16); /* 6.2rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 16); /* 6.2rem +doc+ */

}

.banner--scrolling {

--thumbnail--width: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

}

/* Media query to target mobile and tablet */

@media all and (max-width:1024px) {

.banner {

--thumbnail--width: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

--thumbnail--height: calc(var(--sizing--basis) * 10); /* 4rem +doc+ */

}

}

/*

ELEMENTS/Fields

*/

:root {

--fields--icon--caret--down: url(https://jobs.ea.com/portal/4/images/icon--caret--down.svg);

--fields--icon--caret--down--disabled: url(https://jobs.ea.com/portal/4/images/icon--caret--down--disabled.svg);

--fields--icon--caret--up: url(https://jobs.ea.com/portal/4/images/icon--caret--up.svg);

--fields--icon--clear: url(https://jobs.ea.com/portal/4/images/icon--clear.svg);

}

/*

COMPONENTS/Navigation: Menu (Dynamic)

*/

@media all and (max-width:1024px) {

:root {

--header--height: 5.5rem;

}

}

@media all and (min-width:1024px) {

.body--menu--threshold .menu--visible .menu__panel {

flex-wrap: nowrap;

justify-content: flex-end;

align-items: flex-start;

border-top: solid .1rem var(--dividers--border--color);

padding-top: var(--header--padding--top);

margin-top: var(--header--padding--top);

}

.body--menu--threshold .menu__list {

flex-wrap: wrap;

justify-content: flex-start;

}

.body--menu--threshold .header__content {

flex-direction: column;

align-items: flex-start;

}

.body--menu--threshold .header__menu {

width: 100%;

}

.body--menu--threshold .menu--visible .menu__list {

flex-grow: 1;

}

}

/*

PAGETYPES/Login

*/

:root {

--login__body--background--image: url(https://jobs.ea.com/portal/4/images/login--bg--desktop.webp);

}

/* Media query to target only tablet */

@media all and (min-width:751px) and (max-width:1024px) {

:root {

--login__body--background--image: url(https://jobs.ea.com/portal/4/images/login--bg--desktop.webp);

}

}

/* Media query to target only mobile */

@media all and (max-width:750px) {

:root {

--login__body--background--image: url(https://jobs.ea.com/portal/4/images/login--bg--desktop.webp);

}

}

EventManager.getInstance().addEventHandler(EventManager.EVENT_LOAD_NAME, function () {

}, EventManager.PRIORITY_HIGH);

Skip to content

Electronic Arts

Open Roles

About EA

EA Careers

EA News

Login

English - US

Chinese English - US Finnish Français Italian Korean Malay Polish Romanian Spanish Swedish

Senior Gameplay Software Engineer - EA SPORTS™ NHL

Home

...

Open Roles

Role Detail

General Information

Locations : Vancouver, British Columbia, Canada

Role ID

215810

Worker Type

Regular Employee

Studio/Department

EA Studios - SPORTS

Work Model

Hybrid

Description & Requirements

Electronic Arts creates next-level entertainment experiences that inspire players and fans around the world. Here, everyone is part of the story. Part of a community that connects across the globe. A place where creativity thrives, new perspectives are invited, and ideas matter. A team where everyone makes play happen.

EA SPORTS™ is one of the most iconic brands in entertainment – connecting hundreds of millions around the world to the sports they love through a portfolio of industry-leading video games EA SPORTS™ NHL has revolutionized sports gaming for millions of players worldwide. We’ve pioneered award-winning creative technology and experiences to connect players to the speed, skill, and heart of the NHL.

The EA SPORTS™ NHL franchise is founded on passion and new ideas. Located in Vancouver, British Columbia, the team is composed of diverse talent dedicated to creating on-ice experiences that connect gamers around the world through play. If you're a creative pioneer with a passion for your craft, this will be more than a job. It’ll be what you love.

We are looking for an experienced Senior Gameplay Engineer to join our team in Vancouver and help craft the next generation of on-ice gameplay. In this role, you will be a core architect of the moment-to-moment hockey experience - driving how skating physics, puck dynamics, player control, body checks, and spatial team AI come to life. Working at the intersection of complex physics, rapid controls, and creative game design, you will collaborate with designers, animators, and technical leaders to deliver responsive, realistic, and exhilarating gameplay.

Your Responsibilities: Architect & Build On-Ice Systems: Design, implement, and optimize core gameplay systems, including player movement/skating physics, stick handling, puck trajectory, collision dynamics, and team AI behaviors.

Cross-Discipline Collaboration: Partner closely with game designers, animators, producers, and audio engineers to translate hockey systems and creative concepts into polished gameplay mechanics.

Engine & Performance Optimization: Write clean, modular, and highly performant C++ code, taking ownership of memory management, multi-threading, and frame-rate optimization for modern console hardware.

Integrate Emerging Tech & AI: Explore and integrate emerging AI techniques, automated testing tools, and dynamic behavior models to elevate on-ice intelligence and streamline team workflows.

Developer Tools & Workflows: Build and support internal tools, debug utilities, and editor extensions to empower designers and animators to iterate quickly.

Tune & Polish Gameplay: Iterate continuously on responsiveness, stick control, animation transitions, and hit reaction physics to ensure maximum feel, precision, and player satisfaction.

Mentorship & Engineering Excellence: Guide and mentor mid-level and junior engineers, advocating for software architecture best practices, thorough code reviews, and high technical standards.

Your Qualifications: At EA, we know that great talent comes from diverse backgrounds. You don’t need to meet 100% of the listed requirements to be a great fit for this role. If you meet most of these qualifications and are excited about building world-class gameplay, we strongly encourage you to apply! Experience: 5+ years of professional game development experience, with a proven track record of shipping title(s) or building core gameplay/physics systems.

Core Technical Skills: Advanced proficiency in C++ and object-oriented software engineering.

Strong foundation in 3D math (vectors, matrices, quaternions), physics simulation, data structures, and algorithms.

Experience with multi-threaded architecture, memory optimization, and performance profiling tools.

Gameplay Systems Expertise: Deep understanding of character movement, animation blending/state machines, spatial AI, or real-time physics interactions.

Innovation Mindset: Demonstrated interest or experience in leveraging AI tools, modern automation, and workflow optimizations in game development.

Collaboration & Communication: Excellent verbal and written communication skills, with the ability to explain complex technical concepts to non-technical disciplines.

Education: Bachelor’s degree in Computer Science, Software Engineering, or equivalent practical experience.

Nice to Haves: Direct experience developing for current-generation consoles (PlayStation 5, Xbox Series X|S).

Passion for hockey, ice sports, or sports gaming titles.

Knowledge of dynamic character physics, cloth/equipment simulation, or procedural animation techniques.

Familiarity with Perforce, Git, or modern continuous integration pipelines.

Pay Transparency - North America

COMPENSATION AND BENEFITS The ranges listed below are what EA in good faith expects to pay applicants for this role in these locations at the time of this posting. If you reside in a different location, a recruiter will advise on the applicable range and benefits. Pay offered will be determined based on a number of relevant business and candidate factors (e.g. education, qualifications, certifications, experience, skills, geographic location, or business needs).

PAY RANGES

* British Columbia (depending on location e.g. Vancouver vs. Victoria) *$141,400 - $204,400 CAD

Pay is just one part of the overall compensation at EA.

For Canada, we offer a package of benefits including vacation (3 weeks per year to start), 10 days per year of sick time, paid top-up to EI/QPIP benefits up to 100% of base salary when you welcome a new child (12 weeks for maternity, and 4 weeks for parental/adoption leave), extended health/dental/vision coverage, life insurance, disability insurance, retirement plan to regular full-time employees. Certain roles may also be eligible for bonus and other incentive programs.

About Electronic Arts We’re proud to have an extensive portfolio of games and experiences, locations around the world, and opportunities across EA. We value adaptability, resilience, creativity, and curiosity. From leadership that brings out your potential, to creating space for learning and experimenting, we empower you to do great work and pursue opportunities for growth.

We adopt a holistic approach to our benefits programs, emphasizing physical, emotional, financial, career, and community wellness to support a balanced life. Our packages are tailored to meet local needs and may include healthcare coverage, mental well-being support, retirement savings, paid time off, family leaves, complimentary games, and more. We nurture environments where our teams can always bring their best to what they do.

Electronic Arts 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. We will also consider employment qualified applicants with criminal records in accordance with applicable law. EA also makes workplace accommodations for qualified individuals with disabilities as required by applicable law.

Post To

External careers site, Internal careers site

LinkedInID

74884070

Back to Role List

Apply

Share this role:

LinkedIn

X

WhatsApp

Email

Facebook

2026

Electronic Arts Inc.

Copyright

2026

Candidate Privacy Notice

|

Notice at Collection (California)

/**

* This variable will define every property we need to pass to Templates core library as we can't define twig variables on JS files.

*/

var twigConfig = {

"pageParameters": {

"personSort": null,

"personSortDirection": null,

"jobSort": null,

"jobSortDirection": null,

"jobRecordsPerPage": "",

"personRecordsPerPage": ""

},

"jobLabel": "job",

"STEP_INDEX": "" || null,

"wizardModalViewEnabled": "" || false,

"wizardHasErrors": "" || false,

"sortedBy": "Sorted by ",

"loading": "Loading ",

"plugins": {

"popper": {

"js": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/tippy/popper.min.js"

},

"tooltip": {

"js": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/tippy/tippy-bundle.umd.js",

"css": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/tippy/tippy.css"

},

"popup": {

"js": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/glightbox/glightbox.min.js",

"css": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/glightbox/glightbox.min.css"

},

"slider": {

"js": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/swiper/swiper-bundle.min.js",

"css": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/swiper/swiper-bundle.min.css"

},

"google": {

"jsMarkerCluster": "https://templates-static-assets.avacdn.net/jsLibrary/plugins/googlemaps/markerclusterer.js",

"apiKey": ""

}

},

"menu": {"typeByDefault":"visible","itemsThreshold":8,"headerHeightDefault":5.5,"typeBelowBreakpoint":{"enabled":true,"type":"toggleable","breakpoint":1024},"toggleSide":"right","panelFrom":"right","panelEffect":"over"},

"search": {"typeByDefault":"visible","typeBelowBreakpoint":{"enabled":true,"type":"toggleable","breakpoint":1024,"preventTabsConflicts":true}},

"results": {"resultsDisplayTypeByDefault":"listed","resultsDisplayTypeBelowBreakpoint":{"enabled":true,"type":"grided","breakpoint":750},"resultsItemTypeByDefault":"result","resultsItemTypeBelowBreakpoint":{"enabled":true,"type":"card","breakpoint":750}},

"stickyAside": 0,

"stickyHeader": 1,

"stickyBanner": 0,

"page": {

"PORTAL_BASE_REAL_URL": "https://jobs.ea.com/portal/4",

"wizardPageBackTo": "",

},

"relatedJobs": {

"relatedJobsEnabled": 1,

"url": "https://jobs.ea.com/en_US/careers/WidgetRelatedJobs?3_139_3=8301&jobId=215810",

"selector": "#relatedJobs"

},

"convertDatesToUserTZ": {

"CSSClass": "timelocal",

"convertDatesToUserTZEnabled": 1,

"loggedUserTZ": Intl.DateTimeFormat().resolvedOptions().timeZone,

"weekday": "long",

"day": "numeric",

"month": "long",

"hour": "numeric",

"minute": "numeric",

"hour12": "1",

},

"userLang": "en_US",

"breadcrumbsEnabled": 1,

"googleMapsEnabled": 0,

"googleMarkerClusterEnabled": 0,

"googleParameters": {

"dataUrl": "//jobs.ea.com/en_US/careers/Home/215810",

"centerLatitude": 0,

"centerLongitude": 0,

"startZoom": 3,

"infoWindowCSSClassDiv": "info-window",

"infoWindowCSSClassHeader": "info-window__header",

"infoWindowCSSClassLink": "link info-window__link"

},

"browsingHistory": {

"browsingHistoryEnabled": 1,

"url": "https://jobs.ea.com/en_US/careers/BrowsingHistoryList?3_139_3=%5B8301%5D",

"selector": "#browsingHistory"

},

"widgetRelatedJobs": {

"relatedJobsEnabled": 1,

"url": "https://jobs.ea.com/en_US/careers/WidgetRelatedJobs?3_139_3=8301&jobId=215810",

"selector": "#widgetRelatedJobs"

},

"widgetOpenPositions":{

"url": "",

"selector": "#widgetOpenPositions"

},

"widgetRecommendations":{

"widgetRecommendationsEnabled": 1,

"url": "",

"selector": "#widgetRecommendations"

},

"languageSwitcherFlagsPath": "https://templates-static-assets.avacdn.net/assets/flags",

"enableLanguageSwitcherFlags": 0,

"enableSectionCollapsibleAccordionDisplay": 0

};

var lightbox;

var slider;

var Templates;

pjQuery(function() { var domManager = new DomManager(); domManager.run(); });

var service = EventManager.getInstance();

Posted by EA Sports and synced from their own careers page. DevQuest doesn’t take a fee, doesn’t sit between you and the studio, and doesn’t sell your data — you apply directly with them.

More like this: Engineering jobs · All EA Sports openings · Browse every category