In 2018, I had a chance to work as a Software Engineer Intern at Electronic Arts, Criterion Games located at Guildford, United Kingdom. This was a 12-month placement adhering to my university’s requirements that meets the certification of Professional Registration for IT Technicians (RITTech) from the British Computing Society at the end of the placement.
Disclaimer: Due to Non-Disclosure Agreements, I will be omitting specific details of the projects.
Criterion Games is a game developer studio acquired by Electronic Arts. They are the second-largest game publisher and developer company in North America and Europe. For the past 4 years, Criterion Games has been awarded consecutively The Best Mid-Sized Company from 2016-2020 by GamesIndustry.biz.
During my placement, I was involved in developing different aspects of game making. I mainly liaised with people from other teams such as Production, Game Design and Audio to gather requirements for developing tools or a game itself.
The areas I was involved in were:
- Game design/research
- Web technology/Databases
- User interface/User experience (UI/UX)
During my time at EA, I have practiced several programming languages. When working with their internal game engine Frostbite, I picked up C++ and Object Oriented Programming. For rapid prototyping, I have used Unity in C# to develop gameplay interactions and UI elements. For version control on these two game engines, I have worked with Perforce and Google Suites for collaboration. When working with web technologies, I have used Microsoft .Net (C#) framework, involving the use of LINQ for databases and Google Charts API for the frontend. The main communication tools were Slack and Zoom. For task tracking and project management, I have used Atlassian Jira and Confluence.
At the end of my placement, I felt more confident in agile software development lifecycles as they were put in practice during the placement. In the university, I was only taught about the theoretical aspects but did not apply them professionally in the workplace. I also found how important it is for informing the organisation about our overall contributions and progress, thereby helping teams to work more efficiently.
Through my placement, I have learnt how to communicate and collaborate better within a team and become more familiar with the process of game making. I have also learnt to be resourceful at work by seeking the right people for help. By being more proactive to take on tasks and to obtain constructive feedback, I could learn faster and overcome road blockers more easily.
I think my biggest takeaway from my placement is the insight gained in the games industry and knowing how big of a process game making is. Despite not being able to work on a game from start to end, I was able to try a hand on different parts of engineering from making tools to web development and UI programming.
Here’s a peek of my co-workers and the activities I was involved in outside of work!