As a Software Engineer on the Foundation team you will be uniquely positioned to guide the future technology of Frostbite and Electronic Arts. You will be a part of daily interactions with many of the most experienced engineers in the company to help solve some of our most engaging problems. Your contributions will be used to build the next wave of incredible EA titles and help define the direction of all higher level Frostbite systems, while impacting thousands of daily users.
- Provide architectural guidance, technical direction and oversight for complex systems level feature sets.
- Work with the Frostbite engineering team to determine strategic direction for systems level technology in Frostbite, validate decisions and solve problems between projects.
- Collaborate with team leadership to build out roadmaps and break down requirements into actionable development strategies and reduce risk.
- Assist in improving the tools, technical processes and best practices for the team. Help in improving team productivity, code quality and sustainable development.
- Act as a role model, coach and mentor to assist in developing the team.
- Design, implement, optimize, test, debug and maintain code to coding standards.
- Implement high-quality library and engine level automated tests for our CI cluster.
- Support others using Frostbite Foundation's technologies.
Skills and Experience
- Bachelor's degree or greater in Computer Science or related field, or equivalent training and professional experience.
- High level of proficiency with C++.
- Multithreaded programming and debugging experience.
- Experience in efficient use of standard C++ library, concurrency, object oriented design.
- Ability to test, debug, and extend other Software Engineers' code competently.
- Demonstrated knowledge of good software engineering practices.
- Prior development experience on game consoles would be a large asset.
- Experience in profiling and optimization.
- Experience with standard tools such as Perforce and Visual Studio.
- Understanding of memory management, multiple processor use, and runtime optimization.
- 7-10 years of software development experience.
Bonus points if you have
- Good verbal and written communication skills.
- Ability to work in a dynamic and collaborative team environment.
- Follow Agile methodologies.
- Constantly innovate to improve product quality as well as group productivity.
- Ability to quickly learn and apply new concepts, principles and solutions.
- Demonstrates dependability and commitment to projects/tasks.
- Good business sense – ability to manage non-technical hurdles to getting things done.
- Culture of continuous learning, plus the ability and hunger to take on new challenges.