Who Am I?
Personal Details
- Name Samuel Yip
- Location Singapore
- Email samyipsh@gmail.com
- LinkedIn Profile
- GitHub Repositories
- Artworks Paintings & Digital art
- Youtube Piano Recordings / Organ Recordings
Professional Profile
Hi, I’m Samuel! I’m a NUS Computer Science Graduate, and a Software Developer. Welcome! 👋🏻
It is said that polishing your code can bring up to 2x improvement, but selecting a better algorithm can lead to better. Weary programmer 🧔🏻♂️, may I suggest some food for thought? Optimize the source to unlock the greatest optimization. A bowl of ice-cream 🍨 brings about untold performance improvements!
Besides crafting deep and inspirational statements such as the above, I enjoy building software applications. It’s actually pretty fun and it’s my focus area after all 🫠 (other focus area is Database Systems 💾). Coding is great cos you can build lots of cool stuff. I’m trying to get better and have fun at it.
I like listening and reading latest updates about all things software. I’d be doing more web development, lets see how it goes 👀
Professional Background
Work Experience
3 months (May - Jul 2023)
Foodpanda (pandago)
Software Engineer (Backend)
- Planned and Presented RFC to optimize DynamoDB performance, reduce cost through restructuring GSIs, and ensure backward compatibility
- Assisted in Re-engagement Feature implementation to increase micro conversion rate by re-engaging dropped-off customers who leave the app before completing a purchase
- Summarized WOR (Weekly Operations Review) meetings to inform team about best practices regarding alerting and monitoring (SRE)
Leveraged knowledge: Golang, Hexagonal Architecture, SNS, SQS, DynamoDB, Docker Containers, Cypress
6 months (May - Oct 2022)
Lazada (redmart)
Software Engineer (Frontend)
- Extended functionality of merchant’s platform with new features in quick succession
- Enhanced user experience by migrating MUI libraries and via stylistic changes
- Spearheaded using Cypress for e2e tests in Alibaba platform and facilitated training of this new process to team of 6 which cut down testing time by about 300% (2 hours to 0.5 hours)
- Facilitated DevOps practices through test automation and continuous deployment scripts
- Architected code structure, including best practices using jQuery (fetch data) and state management solutions, for more maintainable code
Leveraged knowledge: Typescript, React, useQuery, Cypress, React Testing Library, Sass
1 year (Aug 2019 - Oct 2020)
Self-employed
Math Tutor (tertiary)
- Planned and executed necessary tuition framework for Mathematics for IB, AS, and N Level
- Assessed the student’s progress and incorporated a systematic learning timeline
- Provided timely feedback to parents via messages and updated records
- Evaluated character and learning style to use different teaching approaches for each student
2 years (Apr 2018 - Apr 2020)
Singapore Police Force
Infocomm Technology Liaison Officer
- Troubleshooted IT related matters for SPF Operations Dept (200+ people)
- Interacted with senior management very frequently, improved social acumen
- Communicated solutions face to face, via email, and over the phone
- Integrated a systematic Excel document for storing hardware asset records
- Maintained the website for the SPF Intranet Ops Website
- Internalized and presented key points of GovTech’s migration to new software to my entire department
Leveraged knowledge: Outlook, Security protocols, Windows PowerShell, HTML
Learning & Training
Education
2020-2024
National University of Singapore (NUS)
Bachelor of Computing (Honours) in Computer Science
- Focus areas: Database Systems & Software Engineering
2012-2017
St Joseph's Institution (SJI)
IB Diploma
- HL Math, Physics, Music
- IB Grade: 41 / 45
Recognition
Honours & Awards
2016
SJI
SJI Scholarship JC IBDP
2014
MOE
Edusave Scholarship for Intergrated Program
Experience
Projects
Nov 2023
Vue Web App
OrganRegistration prototype
SPA Web app that provides a 2-way data-binding of URL state to the stops on the Organ instrument. I had an issue with the storage, referencing, and sharing of organ registration stops. I could not find a suitable solution so built my own. I chose the Vue framework to give it a try in the hopes I’d be more comfortable with raw HTML and CSS.
- Polled for problems regarding registration from public (organists) sentiment on facebook and reddit
- Brainstormed problems, possible and current solutions on miro miro-link
- Prototyped low-fidelity web design on excalidraw
- App example with (multiple registrations): multiple-registrations-example-live-app
Used: Vue3, HTML, CSS
Aug 2023 - Nov 2023
Next/React Web App
PeerPrep
- A platform for users to pair up and solve programming algorithm questions to skill-up for technical interviews. It matches users based on selected criteria (difficulty and topic). It allows them to choose an algorithm question, code it in a code editor that runs in a sandboxed environment, communicate via a chatroom, and get assistance from an AI chatbot.
- Project (5 members) in CS3219 Software Engineering Principles and Patterns across (8 weeks)
Used: NextJS, React, TypeScript, tRPC, tailwind, Prisma, MongoDB, PostgreSQL, Google Cloud Run
Aug 2023 - Nov 2023
C++ CLI App
Static Program Analyzer
- Program to parse in a simplified programming language (“SIMPLE”), generate and store necessary information in appropriate data structures in database, and then support querying relationships within source code. Consists of 3 main subsystems, the Source Parser, the Program Knowledge Base, and the Query Processor.
- Guided Group Project (6 members) in CS3203 Software Engineering Project across 3 months
Learnt basics of C++ within 2 weeks and utilized it, following best practices (e.g. for header files, “using” namespaces, etc.).
- Utilized basics of parsing (Lexing, Tokenizing, Abstract Syntax Tree generation)
- Used different kinds of Bi-directional Mappers (1-to-1, 1-to-many, many-to-many) to efficiently store query relationship data to support queries.
- Weighed key design choices using design patterns (Visitor Pattern, Factory Pattern etc.).
- Rigorous documentation of architecture structure, design choices which increased experience with PlantUML sequence and component diagrams.
- Document possible extension details including implementation and feasibility.
Used: C++, Catch2 test framework, Scrum practices, Atlassian Confluence & JIRA
Sep 2021- Nov 2021
Java app contact manager
Aug 2021 - Sep 2021
Java app task organizer
Meap
@samyipsh
- Individual Project for CS2103T Software Engineering Module
- Integrated GUI by incorporating JavaFX and Scene Builder tools for a friendly user-centric experience
- Utilized Software Unit Tests and Build Automation like Gradle to ensure code sustainability and extensibility
Used: JavaFX, Java, OOP style, Test Driven Development, Unit test, JUnit, Gradle
May 2021 - Dec 2021
E-commerce (React Web App)
BakeSwitch
@samyipsh, @laitzheng, @yichong96
- E-commerce site for home bakers to sell their baked goods
- Orbital project during Y1 Summer
- Developed a React application in a 2-man team that acts that provide home-bakers an online central store, for management of their bakes and orders
- Learnt and utilized web development related languages and frameworks in the short span of 3 months (React, JavaScript, HTML, CSS)
- Incorporated a NoSQL database using Cloud Firestore (stored users, sellers, bakes) using denormalized database for fast reads resulting in better website responsiveness
Used: ReactJS, Firebase hosting, Cloud Firestore, Denormalized data structures, HTML
Areas of Expertise
Skills
Programming Languages
- Working knowledge: Go, TypeScript, C++, Java, Python, Swift, JavaScript, CSS
- Basic knowledge C, Unix, BASH, Powershell, HTML
Software Workflows
- Project management: Github, JIRA, Confluence
Software Tooling
- Frontend
- Libraries / Frameworks: React, Next, Vue, JavaFX, Jekyll
- Styling: TailwindCSS, Sass, Bootstrap
- Backend
- Systems: SQS, SNS, EventEmitter, Firebase
- Databases: PostgreSQL, DynamoDB, Firestore, MongoDB
- Testing:
- JS: Cypress, Jest, React Testing Library
- C++: Catch2
- Java: JUnit
Soft Skills
- Collaborative
- Systematic
Outside
Interests
Current Hobbies & Interests
Digital Art (Video & Audio editing), Art (Watercolor, Calligraphy), Piano, International Chess, Indoor sports (Billiards, Table Tennis, Badminton, Tennis)