Ubisoft Future Games of London
Ubisoft Future Games of London
London, United Kingdom
Future Games of London designs, develops and publishes Smartphone, Tablet and Console games which have achieved over 500 million downloads worldwide by July 2018.
Senior Core Technologies Programmer
2021-05-10 - 2022-01-25
Functioning as a senior software engineer on the Core Technologies team, my responsibilities consist of developing and maintaining tools, services, and Unity packages that enhance the functionality of our existing and future titles.
The shared goal of our team is to ultimately provide stable and reusable solutions for all of our internal projects at the company.
Responsibilities
Some responsibilities related to this role included
- Designing and developing an entirely new build system using Jenkins, Docker, and MSBuild or Cake Build.
- Docker was used as a containerisation daemon responsible for powering various backend services including Jenkins, NGINX (reverse proxy), Munki, Grafana, and Prometheus.
- Jenkins powered by a customised version of the official Docker container image which contained pre-installed plugins.
- Jenkins configured to produce automatically captured backups, and secured using LDAP credentials.
- Shared Jenkins pipeline libraries that contained a lot of reusable functionality for building binaries for multiple actively developed projects in the studio.
- Optimising and extending unit tests used by QA teams.
- Investigating existing unit tests for performance bottlenecks.
- Improving responsiveness and load times of tests inside of the Unity Editor.
- Compartmentalising unit tests into separate assemblies to reduce the time it takes to hot-reload changes to tests.
- Reducing load times of tests by improving cache usage of test data (e.g. localisation text and game database assets), and reducing repetitive instantiation.
- Assisting in integrating functionality for popular social platforms, including Facebook, Apple Login, Google, and Weibo (China only).
- Investigating and refactoring existing legacy code for interfacing with social platforms by instead using proprietary Ubisoft packages.