5.6 KiB
title | date | draft |
---|---|---|
Resume | 2019-02-11T07:50:51-05:00 | false |
{{% resume/section "Work Experience" %}}
{{% resume/work-experience name="Red Hat" title="Cloud/Software Engineer Intern" languages="Kubernetes, GoLang, Jenkins" date="May 2020 — Aug 2021" %}}
- Reduced deployment time by 66% by implementing ability to deploy locally-compiled binaries onto Kubernetes/OpenShift using only command-line (Kubernetes/GoLang used for this and three below).
- Implemented ability for Kubernetes operator to fetch data from a deployed service and update config with data to deprecate reliance on startup script.
- Added startup probes to handle starting legacy application containers that require additional startup time.
- Refactored probes to have default values assigned based on deployed YAML while also fixing reconciliation issues.
- Rewrote the Jenkins (Groovy) nightly pipeline to run in a GitHub PR using a trigger keyword to test all the team's submitted PR's before merging to the main branch.
- Took on tasks and contributed ideas in Agile sprint planning meetings in a team of 12 people.
- Took initiative to write file to define the GitHub parameters for the above pipeline so that it can be recreated easily.
- Took initiative to write documentation on how to get started with the project to onboard new developers and mentored the incoming intern.
{{% /resume/section %}}
{{% resume/section projects %}}
{{% resume/project name="Rarity Surf"
languages="Python, Django, React, GraphQL"
date="Oct 2021" show="true" %}}
- Web app to give rarity rankings to NFT's and check which are listed on the OpenSea marketplace using their API.
- Reverse engineered the ranking algorithm to match the leading rarity ranking site's rankings (scraped using Selenium) with a discrepancy of <0.25%.
- Used app to frontrun purchases of top 0.5% rarity NFT's against competing buyers.
- Wrote Django (Python) backend to fetch metadata from IPFS, store rarity rankings in PostgreSQL and serve rarity data using GraphQL.
- Wrote React frontend with hooks to dynamically load rarity data. Styled with Tailwind.
{{% /resume/project %}}
{{% resume/project name="Spotify Graphs"
url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2020 "
languages="Python, Django, PostgreSQL"
show="true" %}}
- Web app to visualize user's library and listening history from Spotify.
- Fetched and organized user data from Spotify API into PostgreSQL database with Django (Python) backend.
- Created and tested various relational database schemas to maximize efficiency for use cases.
- Generated various charts to visualize the artists and genres of tracks in library.
{{% /resume/project %}}
{{% resume/project name="AWS Server" url="https://kevin-mok.com/server/" languages="AWS, Kubernetes, Terraform, Docker" date="May 2024" show="true" %}}
- Deployed various web apps using Docker (Compose) on an AWS EC2 Debian/Linux server.
- Created Kubernetes manifest files to quickly recreate my server setup with persistent storage/restarts and open ports.
- Created Terraform files to deploy an AWS EC2 instance and Docker containers.
- Used Amazon Route 53's DNS and NGINX to route subdomains to each web application.
- Wrote a JavaScript server script and systemd service/timer to display the uptime of my pages every hour.
{{% /resume/project %}}
{{% /resume/section %}}
{{% resume/section skills %}}
Python, Django, Linux, Git, AWS, Kubernetes, Docker (Compose), Ansible, Jenkins, Selenium, Terraform, Go(Lang), PostgreSQL, Command Line, Groovy, Bash, JavaScript, React, Node.js, MongoDB, Solidity, C
{{% /resume/section %}}
{{% resume/section education %}}
{{% resume/education name="University of Toronto" title="Computer Science Specialist — 3.84 GPA (CS). Graduated with High Distinction." date="2019 — 2024" %}}
{{% /resume/section %}}
{{% resume/section "References" %}}
{{% resume/references %}}
{{% /resume/section %}}