Apply on EA Sports’s site →

Generalist Software Engineer - NHL

EA Sports · Vancouver

Mid Art $105K–$143K Posted 2026-08-10 Full time
Apply on EA Sports’s site →

Generalist Software Engineer - NHL - 215808 - 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

Generalist Software Engineer - NHL

Home

...

Open Roles

Role Detail

General Information

Locations : Vancouver, British Columbia, Canada

Role ID

215808

Worker Type

Temporary 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 software engineer in the Modes area, with a focus on improving scalability across platforms. Our Modes engineers develop and extend features in the game to facilitate user experiences that extend beyond twitch gameplay, and contribute to a connected and socially interactive game experience. Above all, we are looking for an engineer who is excited to use their talent and experience to build AAA quality games.

This is a full-time, 12-month contract position based in Burnaby, British Columbia. The role follows a hybrid model, requiring three days of in-person collaboration at our studio and offering two days at home.

As a Modes engineer, you will: Develop and extend offline and online features.

Implement a feature's core logic and flows.

Monitor and address performance and stability impacts of features.

Work with designers to gather requirements and propose technical solutions.

Work with a team of other engineers in a collaborative environment and report to a team lead.

For scalability, you will also: Support functionality across platforms.

Update technology, tools, and frameworks to accommodate each platform.

Update features to be performant on different hardware.

Your Qualifications: Proficiency with software engineering principles and architectural design.

Proficiency with testing, debugging, and performance optimizations.

Experience with client-server architectures, multi-threaded applications, and database technologies.

Experience developing on multiple platforms.

3+ years of C++ software development.

Experience in utilizing AI-assisted development tools (e.g. coding agents) to rapid prototype, accelerate execution and automate workflows, with the ability to critically review and validate AI-generated code Bonuses: Bachelor's degree in computer science or related field, or equivalent training and professional experience.

Experience with large-scale game engines.

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) *$104,500 - $142,800 CAD

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

In Canada, we offer a package of benefits including vacation (3 weeks per year to start), 10 days per year of sick time, and extended health/dental/vision coverage and basic life insurance.

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=215808",

"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/215808",

"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=215808",

"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: Art jobs · All EA Sports openings · Browse every category