Position Title: Full Stack Engineer
Description/Background
What does the EA IT Employee Experience Engineering Team do?
Electronic Arts is a global leader in digital interactive entertainment. The Company's game
franchises are offered as both packaged goods products and online services delivered through
Internet-connected consoles, personal computers, mobile phones and tablets. EA has more
than 275 million registered players and operates in 75 countries.
Our team, the Employee Experience Engineering group is a new central technology team that is
responsible for designing, developing and maintaining application and data services as well as
enterprise mobile applications that support all employees throughout EA. Our goal is to
produce high quality, reusable, services and web and mobile solutions that help each and
every EA employee do their job and contribute to the goal of EA making the world’s greatest
games.
What will you be doing?
You will be responsible for working with the team’s solution and technical architects to refine
and implement their designs. On the services side, NodeJS micro services (REST) and cloud
orchestration services. On the web and mobile application side, Angular and Ionic-based
hybrid applications that can be deployed on web, iOS, and Android. The services and
applications need to scale to performantly serve many thousands of users globally.
You will be responsible for writing the technical specifications, coding the services and
applications in a secure and efficient manner, ensure highly performant and defect-free code
through the development of unit and integration tests, leverage the use of continuous
integration systems. You should be familiar with working in an Agile/Scrum model in a modern
DevOps organization.
Our Engineers love to experiment with leading edge technology, dive deep into code and work
as part of a team of programming experts who define and solve big problems and build
powerful automation tools. You must ensure stellar product quality, and provide technical
guidance to Product & Program Managers as they communicate user needs and product
requirements. This role is for a full stack engineer who loves the challenge of building
distributed, high availability, and resilient systems. You should have excellent design and
coding skills in building APIs and have the technical depth in OS (Linux and macOS), hybrid
mobile and cloud programming models.
As a full stack engineer you will be also involved in proof-of-concept for new technology, work
with leads and architects to define technical specification standards, coding and security best
practices.
You will be interacting with product managers, project managers, architects, quality engineers
and infrastructure engineers across the US and other geographies.
Responsibilities
• Work with PMs, Architects, Network and Systems engineers to understand service and
application needs, including build, deployment and management.
• Design and build service catalogs and APIs
• Work with Experience Designers to prototype and build web & mobile applications
• Be able to develop highly available and reliable applications in the cloud.
• Ensure all solutions being developed are well documented with proper technical
specifications, testable and maintainable.
• Write unit tests for automation, and achieve 80%+ code coverage
• Review code via collaborative code-review tools with peers
• Implement monitoring, analytics and telemetry in code development.
• Effectively communicate and coordinate with teams across various geographies, mainly US.
• Effectively communicate progress and issues with engineering and product/project
managers.
• Be able to prototype new technology that fits use cases/problems and validate against
success criteria.
Skills
Must Have
● Top notch JavaScript and General Programming Skills
● Experience developing high performance cloud-based, REST microservices with
latest/recent versions of NodeJS
● Experience developing web applications with modern Javascript frameworks &
packages (examples: React, GraphQL, Redux etc)
● Experience coding JavaScript applications/services using Typescript Object Oriented
Programming.
● Work with various NonSQL DB (DynamoDB, MongoDB, Cassandra) and Cache (Redis,
Redux, Elasticache, Memcache)
● Knowledge of test frameworks like mocha, chai and jest
● Knowledge and working experience with SCSS (preferably Git) and best practices
● Experience with webpack, gulp and/or other build tools
● Experience with CI/CD pipeline and automation (e.g. GitLab, Jenkins, Cloudbees)
● Experience developing in cloud technologies, preferably AWS
● Experience instrumenting services/apps code for actionable monitoring and analytics
using tools like Google Analytics and statsd
● Experience working with cross functional teams such as Design and Product teams in
an Agile work environment.
Extra Points
● Experience implementing and integrating with packaged applications (preferably
Employee tools such as Slack, G Suite etc)
● Experience coding in other mainstream languages such as Python, Java, in a services
capacity
● Experience with Serverless Frameworks (AWS Lambda, API Gateway, Azure Functions,
etc...)
● Knowledge of/Experience with Hybrid Mobile Apps (Ex, Ionic, React Native)
● Native IOS or Android mobile development experience
● Experience with other cloud technologies is a plus (GCP, and Microsoft Azure)
Qualifications
• Bachelor’s or Master’s degree in Computer Science, Software Engineering, or equivalent
experience
• 6 to 8 years of engineering/development experience.
• Experience in distributed, network, and systems programming in Linux or macOS
environment
• Experience taking projects from initial spec/requirements through design and implementation,
testing and debugging, documentation, and installation in an Agile environment
• Strong written and oral communication skills are essential
• Ability to stay on top of technology, participate in brainstorming sessions and contribute
ideas to our products and tech stack
• Self-starter with an eagerness to constantly learn and pass/share the knowledge along to the
team.
• Strong sense of ownership/‘can do’ attitude and high attention to detail
• Experience working in a distributed global team
• Ability to dive into difficult problems and deliver results on time and on spec
• Demonstrate a high level of creativity and problem solving