Full Time Job

Software Engineer - EA Sports

Electronic Arts

Vancouver, BC 06-22-2020
 
  • Paid
  • Full Time
  • Mid (2-5 years) Experience
Job Description
We are EA

And we make games – how cool is that? In fact, we entertain millions of people across the globe with the most amazing and immersive interactive software in the industry. But making games is isn't easy! That's why we employ the most creative, passionate people in the industry.

Have you ever experienced the thrill of a last minute goal that carries your team to victory in front of millions of people? Working here is kinda like that.

RENDERING SOFTWARE ENGINEER
The Rendering Software Engineer is an essential part of the game creation process. They are involved in architectural design, implementation, and debugging of rendering technology on multiple platforms; working with Designers, Artists and other Engineers to solve complex computer graphics problems.

Key Responsibilities:
• Research and implement cutting-edge rendering techniques.
• Write technical design specifications.
• Design, maintain, implement, test and debug code, pipelines and other rendering-related sub-components and packages
• Develop core rendering tools, feature and engine components to required coding standards.
• Optimize rendering, lighting and shading components of a game engine.
• Create leading edge reusable rendering technologies.

Required Technical Skills and Experience:
• Bachelor degree in Computer Science or related field, or equivalent training and professional experience.
• Proficiency with C++
• Experience designing and implementing cutting edge graphics techniques and detailed knowledge of graphics hardware.
• Strong math skills including trigonometry, calculus and linear algebra.
• Formal background in rendering with experience that may include shaders, animation, skinning, lighting, special effects and tool development.
• Experience with Direct 3D, Open GL or equivalent.
• Experience in object-oriented design and implementation.
• Knowledge of good software engineering practices.
• Understanding of memory management, multiple processor use, and runtime optimization.
• Ability to test, debug, and extend other Software Engineer's code

Additional Skills:
• Experience with, scripting languages (such as Perl, Python, Lua) and C#.
• Experience with graphics tools and exporters such as Maya, MotionBuilder and Photoshop; knowledge of Maya API and Mel programming.
• Expertise in several of these fields: vertex and pixel shaders including HLSL and FX; terrain or environment rendering; advanced lighting techniques, particle systems, special effects, art pipelines, tool development and game engine architecture.
• Working knowledge of DX11 a significant plus.
• Experience on a game team, having shipped titles is an advantage.
ONLINE ENGINEER
The Online Engineer is involved in the whole creation process from architecture design, implementation, debugging, and tuning on multiple platforms and device, working on complex problems with Designers, Artists and other Engineers in the Online and Game Modes domain.

Responsibilities:
• Hands on coding (C++); requirements gathering and designing new tech; maintain/build/own a tech module
• Able to understand and work with 3rd party software APIs
• Design, architect and document technical designs for Online multiplayer Game Modes systems
• Work with a proprietary engine to develop stable, scalable, efficient and shareable code
• Work with people on a large team both locally and remotely
• Work independently with minimal supervision and communicate status
• Proper use of common software engineering design patterns and paradigms

Required Technical Skills and Experience:
• Bachelor degree in Computer Science or related field, or equivalent training and professional experience
• Proficiency with C++ and experience in object-oriented design and implementation
• Strong experience with Client/Server, Peer-to-Peer and multi-threaded architectures
• Experience with modern Database technologies
• Knowledge of networking protocols
• Demonstrated knowledge of good software programming practices
• Excellent detail-oriented, problem solving skills – must be able to quickly identify issues and resolve them
• Experience with 3rd party APIs
• Experience of real-time game networking
• Experience with Visual Studio and deep knowledge of the debugging tools
• Experience with source control systems
• Experience with scripting languages (Perl, Python, Lua) and interpreted languages (C#)
• Knowledge of Online multiplayer / Game modes
• Knowledge of server scalability and server security

SYSTEMS ENGINEER
A Systems Engineer plays a key role in shipping a high-quality title. The Systems Engineer works with other domains and production to integrate and develop core technologies, manage and optimize memory, load time, and performance, and help guide the title through the final stages of development.

We're looking for someone who can own and drive systems work – everything from technology upgrades to memory and performance optimization. Someone who can work through other engineers but isn't afraid to get their hands dirty and fix those intricate last minute bugs. Above all, we're looking for an engineer who knows what it takes to make a AAA title and is excited to use their talent and experience to build great games.

Required Technical Skills and Experience:
• Strong C++, architectural, and software engineering skills.
• Ability to learn, test, debug, and extend other software engineer's code.
• Experience integrating and maintaining large scale systems covering multiple domains and technologies.
• Understanding of memory management, file systems, multi-core processing, and runtime optimization.
• Bachelor degree in Computer Science or related field, or equivalent training and professional experience.

Preferred Skills and Experience:
• Experience with assembler, scripting languages (Python, Lua), and C#.
• Understanding and experience of job-based architectures and scheduling.
• Detailed knowledge of Xbox One and PS4 platforms.
• Experience with profiling tools to monitor and diagnose issues.

Required Non-Technical Skills for all roles:
• Good verbal and written communication skills.
• Ability to work in a fast-paced, dynamic and collaborative team environment.
• Proactive problem solver who can quickly adapt to new situations and challenges.
• Ability to quickly learn and apply new concepts, principles and solutions.
• Excellent decision-making capabilities.
• Able to constantly innovate to improve product quality as well as group productivity.
Company Profile
Electronic Arts
Electronic Arts Inc. is a global leader in digital interactive entertainment. EA develops and delivers games, content and online services for Internet-connected consoles, mobile devices and personal computers.