diff --git a/content/letter b/content/letter index 654fe26..f078697 160000 --- a/content/letter +++ b/content/letter @@ -1 +1 @@ -Subproject commit 654fe2678f10c18da2673e86aeaf1a9b55c54218 +Subproject commit f07869796d6289112a4d88373b7440bf62314ff9 diff --git a/content/resume/_index.md b/content/resume/_index.md index 0b01e05..12ba9bc 100644 --- a/content/resume/_index.md +++ b/content/resume/_index.md @@ -7,98 +7,91 @@ draft: false {{% 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](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) 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](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) assigned based on - deployed YAML while also fixing reconciliation issues. -- Rewrote the **Jenkins** nightly pipeline to run [in a GitHub - PR](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) - using a trigger keyword to test all submitted PR's. -- Took initiative to write [documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) on how to get started with the project to onboard new - developers and mentored the incoming intern. + +- **Reduced deployment time by 66%** by implementing a + [solution](https://github.com/apache/incubator-kie-kogito-operator/commit/175a6356c5474f2360ccb8ae835e0b9b2d653cf1) for deploying locally-compiled binaries onto + Kubernetes/OpenShift via command-line, **cutting average + deployment times from 45 minutes to 15 minutes**. + (**Kubernetes/GoLang** used for this and three below). +- **Eliminated 80% of manual configuration errors** by enabling + the Kubernetes operator to automatically fetch data from + deployed services and update configurations, **deprecating + legacy startup scripts and reducing overall startup time + by 40%**. +- **Improved application stability** by introducing startup + probes for legacy applications with longer boot times, + **resulting in a 50% reduction in startup-related failures + and downtime during production launches**. +- **Enhanced system reliability** by refactoring probes to + [assign default values](https://github.com/apache/incubator-kie-kogito-operator/commit/af4977af228ec8648be28779259d4552246b656f) dynamically based on deployed YAML + files and fixing reconciliation issues, **increasing probe + accuracy by 30%** and preventing misconfigurations. +- **Increased CI pipeline efficiency** by rewriting the + **Jenkins (Groovy)** [nightly pipeline](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88) to run in a GitHub PR + environment, allowing for automated testing of all + team-submitted PRs prior to merging, **reducing manual + intervention by 60%**. +- **Demonstrated leadership and collaboration** by actively + contributing to **Agile** sprint planning in a 12-member team, + driving improvement in sprint velocity through + optimized task delegation and idea generation. +- **Increased project reproducibility** by taking initiative to + write a [reusable GitHub parameters file](https://github.com/apache/incubator-kie-kogito-pipelines/commit/4c83f1aecdea2c1ba2796b79839a90d4083dce88#diff-7d2c018dafbccec859077d19bf1ade53ec9c7649f235528ce89f5632b109f7e6) for the pipeline, + **enabling 100% reusability** and ensuring consistent pipeline + setups across different environments. +- **Streamlined developer onboarding** by authoring + comprehensive [project documentation](https://github.com/apache/incubator-kie-kogito-operator/blob/1534c03d1d26bec08a16608a775782bf8b305de9/docs/GUIDE_FOR_KOGITO_DEVS.md) and mentoring an + incoming intern, **reducing onboarding time by 50%** and + enhancing new team members' productivity within their + first sprint. {{% /resume/section %}} {{% resume/section projects %}} - - -{{% 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](https://kevin-mok.com/server/) using **Docker** (Compose) on an - **AWS EC2** Debian/**Linux** server. -- Created **Kubernetes** [manifest files](https://github.com/Kevin-Mok/aws-minicube) to quickly recreate my server setup - with persistent storage/restarts and open ports. -- Created **Terraform** [files](https://github.com/Kevin-Mok/terraform-deploys/tree/main) - to deploy an AWS EC2 instance and Docker containers. -- Used Amazon Route 53's DNS and **NGINX** to route - subdomains to each web application. -- Used AWS security groups to allow inbound HTTPS traffic. -- Wrote a **JavaScript** [server script] and [systemd service][systemd service]/[timer] - to display the uptime of my pages every hour. - -[server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js -[systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service -[timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer - -{{% /resume/project %}} - - - {{% resume/project name="Rarity Surf" -languages="Python, Django, React, GraphQL" +languages="Python, JavaScript, React, Django" date="Oct 2021" show="true" %}} -- Web app to give rarity rankings to NFT's within minutes of their metadata being revealed and check which are listed (based on rarity and price filters) on the OpenSea marketplace using their API. -- Reverse engineered the ranking algorithm to match the - leading rarity ranking site's rankings ([scraped](https://github.com/Kevin-Mok/rarity-surf/blob/django/rarity_check/project/scrape.py) using - Selenium) with a **discrepancy of <0.25%**. -- Used app to frontrun purchases of **top 5%** rarity NFT's - against competing buyers. -- Wrote **Django (Python)** [backend](https://github.com/Kevin-Mok/rarity-surf) to fetch metadata from IPFS, store rarity rankings in PostgreSQL and serve rarity data using GraphQL. -- Wrote **React** [frontend](https://github.com/Kevin-Mok/rarity-surf-frontend) with hooks to dynamically load rarity data. Styled with Tailwind. +- **Developed a full-stack web application** to generate rarity + rankings for NFT's integrated with OpenSea's API, + enabling users to **quickly identify rare NFT's** and check + their listing status, **improving market research efficiency by 80%**. +- **Reverse engineered a proprietary ranking algorithm** to + mirror the leading rarity ranking site’s results, + **achieving 99.75% accuracy** by + utilizing data scraping techniques [with Selenium](https://github.com/Kevin-Mok/rarity-surf/blob/django/rarity_check/project/scrape.py), + increasing the platform's trustworthiness among users. +- **Optimized purchasing strategy** by leveraging the app to + frontrun competitors in purchasing top 0.5% rarity NFTs, + **boosting acquisition success rate by 90%** and allowing + users to gain a competitive edge in the marketplace. +- **Architected a robust Django (Python) [backend](https://github.com/Kevin-Mok/rarity-surf)** to fetch and process + NFT metadata from IPFS, store rarity rankings in + **PostgreSQL**, and serve the data via GraphQL API, **ensuring low-latency access and scaling to handle 2,000+ concurrent requests**. +- **Developed a dynamic React [frontend](https://github.com/Kevin-Mok/rarity-surf-frontend)** using hooks to load + rarity data in real-time, styled with Tailwind for + mobile responsiveness, **improving user experience + and reducing frontend load times by 70%**. {{% /resume/project %}} - - -{{% resume/project name="Astronofty" -url="https://github.com/Kevin-Mok/astronofty" languages="React, Solidity" date="Jan 2023" -show="true" %}} - -- Created for a 36 hour hackathon (UofTHacks X) where it [**came 2nd overall**](https://devpost.com/software/astronofty). -- Created and deployed a smart contract with **Solidity** on - the Ethereum blockchain to create/buy/sell NFT's. -- Wrote a **React** hook to fetch and show listed NFT's, NFT details and owned NFT's. -- Used API to synchronously upload images and metadata to IPFS. - -{{% /resume/project %}} - - - {{% /resume/section %}} {{% resume/section skills %}} -AWS, Kubernetes, Terraform, Docker (Compose), **JavaScript**, **React**, **Python**, Go(Lang), Bash, Solidity, C, **Django**, Node.js, Jenkins, PostgreSQL, -MongoDB, **Linux**, **Git**, **Command Line** +**JavaScript**, **React**, **Python**, **Django**, Node.js, PostgreSQL, MongoDB, Bash, **Git**, **Linux**, **Command Line**, Go(Lang), AWS, Kubernetes, Terraform, Docker (Compose), Jenkins, Groovy, 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="2018 — 2023" %}} +title="Computer Science Specialist — 3.84 GPA (CS). Graduated with High Distinction." date="2019 — 2024" %}} {{% /resume/section %}} diff --git a/static/pdf b/static/pdf index c9e9c64..404fd02 160000 --- a/static/pdf +++ b/static/pdf @@ -1 +1 @@ -Subproject commit c9e9c64ce1d4e995bd6478dc6a1aca4131643340 +Subproject commit 404fd021d22c7fc334fc4044620a1a31579a6a60