Resume
Education
National University of Singapore (NUS)
Aug 2012 – July 2016
- Bachelor of Computing (Computer Science), Honours
- Specializations in:
- Computer Graphics and Games
- Software Engineering
- Visual Computing
Anglo-Chinese Junior College
Jan 2008 – Dec 2009
- Graduated with three distinctions
Work Experience
VersaFleet, Technical Lead
Aug 2021 – Present
- Enhanced product quality, reducing errors by 64% monthly on Sentry.
- Enhanced product performance, reducing database I/O per second by 70%.
- Designed and implemented a new microservice utilizing Go, Kubernetes, and MongoDB to help lower the costs of the Google Geocoding API by approximately 93%.
- Designed and set up a load testing environment using Locust to ensure that product releases have no performance issues.
- Improved the annual uptime of the product by 0.16% to reach 100%.
- Kept AWS costs steady despite a 37% increase in API calls over three years.
- Collaborated with the product team to assess the technical feasibility of future product designs and provided implementation estimates.
- Broke down product features into smaller technical tasks for junior developers to work on.
VersaFleet, Senior Software Engineer
Jul 2018 – Jul 2021
- Software Engineering Work:
- Optimized some heavy backend functions, reducing API call time from 30 seconds to 1 second.
- Implemented single session logins for the application, preventing sharing of accounts.
- Improved the security of the application by implementing CSRF protection.
- Upgraded Ruby on Rails from 4.2 to 5.2.
- DevOps Work:
- Set up the local development environment using Docker Compose for Ruby on Rails, Sidekiq, Redis, and PostgreSQL, streamlining setup for developers.
- Set up new environments on AWS, with the frontend on S3, CloudFront, and Route 53, and the backend on EC2, RDS, Auto Scaling Groups, and Load Balancers.
- Documented EC2 instance configurations using Ansible.
- Automated deployment using CircleCI and Jenkins, saving developers an hour every week, as well as allowing QA Testers to get the latest updates without delay.
- Deployed a Kubernetes cluster on AWS using Terraform and Kubernetes manifests, supporting 18 microservices across three environments.
- Set up CloudWatch Alarms and Simple Notification Service to keep track of abnormal utilization or response time spikes in the EC2, RDS, and Load Balancer.
- Monitored Kubernetes health using Datadog, and instrumented applications for performance monitoring and distributed tracing.
- Management Work:
- Managed and guided juniors through their work, as well as reviewing their pull requests.
- Broke down product features into smaller technical tasks for junior developers to work on.
VersaFleet, Software Engineer
Oct 2017 – Jul 2018
- Built over 10 new frontend features for the web application using React (frontend) and Ruby on Rails (backend).
- Added over 100 backend tests using RSpec.
- Maintained and developed iOS and Android applications using React Native (Expo).
- Set up Amazon Web Service’s Lambda for integration between the customer’s and VersaFleet’s server.
- Managed and guided juniors through their work, as well as reviewing their pull requests.
National University of Singapore, Research Assistant
Sep 2016 – Sep 2017
- Performed research on cloud gaming, reducing CPU, GPU, and memory usage so that more instances of a video game can be launched per cloud gaming server.
- Implemented plugins in Unreal Engine 4, allowing the game to be controlled remotely over a network.
- Integrated the Nvidia Capture SDK with FFmpeg, allowing games using DirectX to be video streamed over a network.
- Built a thin client using Python, so that the player can receive the video stream of the game, as well as control the game remotely.
Ubisoft Singapore, Quality Assurance Assistant
May 2016 – Sep 2016
- Performed daily smoke tests on the game, which consisted of approximately 100 test cases.
- Communicated with gameplay programmers, artists, animators, and designers to ensure that the bugs are identified and fixed.
- Found and reported approximately 450 bugs in total.
Singapore University of Technology and Design (Game Innovation Programme), Quality Assurance Tester
May 2014 – Aug 2014
- Developed an iOS video game using Unity in a multidisciplinary team of six, with LambdaMu Games as our product advisor.
- Organized and managed five playtest sessions internally and externally with approximately 75 testers over the course of the whole programme.
- Tested the games for bugs using test plans and exploratory testing.
- Successfully showcased the game at the ArtScience Museum to the public and press as part of Industry Day 2014.
Co-Curricular Activities
Member, NUS Game Development Group
Aug 2013 – Dec 2013
Member, Tech Council
Jan 2008 – Dec 2009
Assistant Leader, Uniform and Logistics Committee, Boys’ Brigade
Jan 2004 – Dec 2007
- Attained the rank of staff sergeant.
Programming Skills
- Java: Intermediate
- JavaScript (React): Advanced
- Ruby on Rails: Advanced
- C++: Elementary
- Python: Elementary
- Go: Elementary
DevOps Skills
- CircleCI: Advanced
- Jenkins: Elementary
- Bash: Intermediate
- Docker: Elementary
- Kubernetes: Advanced
- Terraform: Elementary
- Ansible: Elementary
- Amazon Web Services (AWS): Advanced
- Datadog: Advanced
Publications
CloudyGame: Enabling cloud gaming on the edge with dynamic asset streaming and shared game instances
Anand Bhojan, Siang Ping Ng, Joel Ng, Wei Tsang Ooi, in Multimedia Tools and Applications, 27 August 2020 [DOI]
Languages
- English: Advanced
- Chinese: Intermediate
- Japanese: Elementary
Personal Interests
- Enjoys playing video games with a good story, as well as games that require strategy and planning.
- Enjoys watching television shows and anime.
- Writes game reviews for leisure which can be found on this blog here.