Eric Cheong

A Software Enginner
Who craves Challenges!

Problems come in all shapes and sizes and I look forward to them all - digitally and in real life. Welcome! I am Eric and here are some of my projects.

Education

University of Queensland

Masters of Information Technology

2020 - 2021

Brisbane, Australia

Monash University

Bachelor of Mechanical Engineering

2015 - 2019

Melbourne, Australia

Experience

Finance One

Software Developer, Full-time

Feb 2022 - Current

Brisbane, Australia

Key Achievements

  • Led, planned and implemented an internal tool capable of automating manual data processing of large CSV files containing thousands of data points. Data filtering comprises of complex criteria that needed to be fulfilled based on requirements. Post-deployment feedback was that it could cut processing time by 20%
  • Consumed SOAP and RESTful APIs for integration into existing software. Implementation had appropriate handling of errors to ensure ease of debugging in production.
  • Wrote complex SQL queries for investigation purposes which led to hundreds of existing incorrect applications being recalled. Query created involved pulling data from multiple related tables and while still ensuring optimization was in placed; such as preventing duplicated rows from being generated, utilizing indexing etc.

The following were skills/tools involved:

C#

ASP.NET

.NET Framework

LINQ

Microsoft SQL

JavaScript

React

Visual Basic

No/Low Code Solution

Omnilytics

Data Science Intern, Full-time

Sep 2019 - Dec 2019

Kuala Lumpur, Malaysia

Key Achievements

  • Unit testing that increased coverage by 5% that involves validating a schema used to create, train and prepare models
  • Given a minor project to analyze and recommend optimum number of labellers possibly required for ensuring the accuracy of new data received daily for clients
  • Processed, debugged and increased accuracy of in-house data used to be displayed on company's main dashboard to clients with Elasticsearch

The following were skills/tools involved:

Python

Flask

Elasticsearch

Jupyter Notebook

Unit Tests

Projects

Fireflies (demo)

  • Fireflies is a game where it involved collaborations from multiple groups consisting of designers and developers. This game is an apocalyptic themed game where a user has to try to survive by getting through each level and finishing the game
  • Mainly contributed in the development of the player's feature which involved understanding the physics of the game along with its timestep mechanism
  • Features would consist of allowing player to attack enemies in game, adopting a memento design pattern that allows the state of player to be saved and carried forward (due to how the game engine was built - internal memory was relied on for carrying player state in game), programming the user interface functionalities and etc
  • Apart from programming, user testing was also conducted to evaluate and quantify the quality of any new features adapted into the game
  • Unit testing was heavily done to ensure code coverage meets a specific threshold and all code written is heavily doccumented for project takeover if required in the near future. All documentation can be found in the wiki pages and javadocs

Source code can be found here.

The following were skills/tools involved:

Java

Mockito

libGDX

Gradle

Git

SonarCloud

Reviewer Hub Project (demo)

  • Reviewers Hub is a website that would allow users to write reviews on anything, users would be able to create their very own account and rate other reviews. This essentially acts as a platform for users to voice their opinions and aggregate their thoughts together as a community
  • Users would then be able to save certain reviews into their wishlist, write comments on reviews, upvote or downvote reviews that are bad or good
  • All reviews, account created by users and reviews that are saved, would be stored in a database. Data is then extracted from the database to be presented visually to users and/or to anyone else visiting the website. The database is also used in multiple other functionalities as well
  • The website utilizes google chart API to allow users to visualize what they have done - this is specific to how many reviews that they have created on a specific day with the use of a heat map and how the community is growing which is presented with the use of a simple line graph
  • It also has a simple chatbot that has functionalities like allowing users to delete or ban comments (this is extracted from the database based on user's input on what the comments are about and which product was the comment posted on) or reviews or even find other existing users (by searching for the user's username which is unique in the database)

Source code can be found here.

The following were skills/tools involved:

PHP

MVC

AJAX

MySQL

CSS

HTML

Bootstrap

Google Chart API

jQuery

Sessions

JavaScript

CodeIgniter

Cloud Computing Project (demo)

  • This project was open ended as any topic could have been used but it must involved the use of GCP to simulate the use of cloud computing. As such, the topic I chose (based on the availability of data) was focused on predicting user's satisfaction level based on the given dataset
  • The project was developed in a way that it allows anyone to be able to replicate and access the project anywhere and anytime as long as permission as granted. The next few bullet points discusses the procedures that I have taken throughout the development of the project and how the project's environment was set up
  • Performed analysis on dataset acquired from Kaggle
  • Prior to performing model training with dataset, data cleaning was performed to remove duplicates or any other form of anomalies
  • Dataset was stored with the use of a distributed file system (Apache Hadoop)
  • Processing was achieved with the help of Spark clusters and Spark programming techniques and Spark built-in libraries
  • Finally, all results were then visualized with the use of Jupyter Notebook and is deployed with the use of Google Cloud Computing (GCP)

Source code can be found here.

The following were skills/tools involved:

Python

Docker

Apache Spark

Apache Hadoop

GCP

NginX

Dockerfile

Robotic Design Project (demo)

  • The purpose of this project was to design a robot that is able to sort and deliver segregated balls to two different designated containers
  • The robot must be able to segregate three different kinds of balls and will need to be able to start on the fly
  • It must also be able to transfer these balls as quickly as possible to the designated locations which makes the weight of the robot an important factor
  • The robot was programmed with the use of an Arduino, it was made of plywood mostly, servos were used for any rotational movement, and a push button sensor was used to initialize the robot at the start
  • Overall, we managed to placed 13th out of 42 teams in the cohort. This was due to the fact that the robot was able to only successfully deliver some of the balls (at the final designated location - it was only able to deliver half of the number of balls) but it was worth noting that it was able to successfully segregate the different types of balls within the time slot provided to us

The following were skills/tools involved:

C++

Robotic

Engineering

Arduino

Pokemon Themed Minesweeper (source code)

  • This project was given to test my understanding of classes and utilizing tkinter library to visually present functionalities that have successfully been implemented to the users
  • Minesweeper mini game that utilizes tkinter with images along with functionalities that enhances user's experience when interacting with program
  • Functionalities includes allowing users to save or load saved game (if a directory does not exist - the system will create one specifically for loading and saving files), visually inspect the amount of time spent while playing the game (time elapsed in game time), keep track of scores or even compare them with other players' scores (locally)
  • Game can alternate between having images or none at all
  • This project was a success as I was able to implement all required features (which granted my full marks) while still ensuring good code practice was adhered to

The following were skills/tools involved:

Python

OOP

tkinter

Fictional Web Resort (source code)

  • This is my very first website that I created for a university project which I achieved high distinction for
  • It is a fictional resort that is fully responsive, utilizes flexbox, provides feedback to users when making a 'reservation', progressively enhanced to some extent in the case if JavaScript does not work, and is compliant with the WCAG 2.0 accessibility guideline
  • Utilizes localStorage to transfer information from one page to another without the use of database but to mimic such a scenario for functionality completeness
  • It has underwent multiple iterations of improvements based on comments given by instructors which can be found in this report

The following were skills/tools involved:

HTML

CSS

JavaScript

localStorage

Flexbox

Achievements

2021

Dean's Commendation For Academic Excellence (S1)

Best project nomination (Web Information System)

2020

Dean's Commendation For Academic Excellence (S1)

Best use of Analytic Tool Award (Cloud Computing)