Hi there 👋! I'm
a software engineer with a keen interest in software engineering principles, architecture and design patterns.
Hello! I'm Samuel, a Software Engineer with a passion for solving problems with technology. I also have a keen interest in software engineering principles, architecture and design patterns and figuring out how these can be applied to create more reliable, extensible and maintainable software!
I graduated with Honours (Highest Distinction) from the National University of Singapore (NUS) with a Bachelor of Computing in Computer Science with focus areas in Software Engineering and Computer Security.
I'm currently on a post-graduation holiday till 2024 but still occasionally volunteer my time towards the TEAMMATES project where I serve as the project lead.
Here's some of the languages and tools I have been working with recently:
Where I've Worked
TEAMMATES (Open Source)
| June 2021 - Present
- Project lead for an online feedback management system for education used by more than 800,000 users worldwide.
- Currently spearheading a major system redesign which includes a migration from a NoSQL to a SQL database expected to significantly improve performance of the system.
- Designed and implemented multiple major feature enhancements including a deadline extension and account request feature.
- Tech Stack: Angular, Typescript, Java, Google Cloud
Software Engineer (Part Time)
| Aug - Dec 2022
Software Engineer Intern
| May - July 2022
- Designed and developed a customer facing rewards system using Go, Nuxt.js, PostgreSQL and Redis.
- Planned and executed the splitting of a Monolithic system into Microservices as well as a migration from MongoDB to PostgreSQL.
- Built a Redis based asynchronous task queue in Node.js to process and automatically schedule long running jobs.
| May 2021 - Apr 2022
- Designed and developed an award winning interactive online textbook used by thousands of students and multiple university courses worldwide.
- Application allows readers to play with code snippets without leaving the context of the textbook as well as use various tools to visualise data structures and reason about programs.
- Tech Stack: React, Typescript, Node.js
Some Projects I've Worked On
Code Reuse Detector (CrED)
A tool designed as part of my final year project to aid plagiarism detection in brownfield software project variants. Currently used in a software engineering course at NUS.