Online Software Engineer - FIFA

Electronic Arts - Vancouver, BC (30+ days ago)

Apply Now

The Role: 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 / 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 multithreaded 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

Nice to Have:
2+ years experience working on Microsoft, Sony or Nintendo game consoles or other embedded systems.
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

Performance Competencies (Non-Technical Skills)

Solid understanding of the Software design/architecture process
Solid ability to understand direction and execute on the work
Ability to quickly learn and apply new concepts, principles and solutions
Constantly innovate how to improve product quality as well as group productivity
Excellent decision-making capabilities
Ability to quickly learn and apply new concepts, principles and solutions
Demonstrated dependability and commitment to projects/tasks.
Solid verbal and written communication skills: Demonstrated ability to explain technical issues to both technical and non-technical audiences

We Thought You Might Also Want to Know:
More about our location: http://careers.ea.com/our-locations/burnaby-eav