EA Sports · Vancouver
Apply on EA Sports’s site →Software Engineer - NHL (TFT) - 215814 - 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
Software Engineer - NHL (TFT)
Home
...
Open Roles
Role Detail
General Information
Locations : Vancouver, British Columbia, Canada
Role ID
215814
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 franchise is founded on passion and new ideas. Located in Vancouver, British Columbia, the team is composed of remarkable talent on a mission to accomplish on-ice experiences that connect gamers around the world through play. If you're a creative pioneer with experience with your craft, you will have the chance to turn a job into something you love.
We are looking for an experienced software engineer in the User Interface area, with a focus on improving scalability across platforms. Our User Interface 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.
You will work in a hybrid model, requiring you to be onsite at our Burnaby, British Columbia studio for three days and working from home for two days.
As a User Interface Engineer, you will: Develop and extend offline and online features.
Implement a feature's logic, game flows, and screens.
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, including multiple types of inputs and displays.
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 developing user interfaces on multiple platforms, including scaling across various display sizes.
Experience with multi-threaded applications.
Knowledge of data-driven and object-oriented design.
Knowledge of design patterns, such as MVVM.
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.
Familiarity with scripting languages.
Familiarity with applying AI to software development.
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:
X
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=215814",
"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/215814",
"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=215814",
"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