Mobile-responsive personal website, generated using Hugo. https://kevin-mok.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
6.1 KiB

  1. ---
  2. title: "Resume"
  3. date: 2019-02-11T07:50:51-05:00
  4. draft: false
  5. ---
  6. {{% resume/section "Work Experience" %}}<!--- {{{ -->
  7. {{% resume/education name="Red Hat"
  8. title="Cloud Engineer Intern" date="2020 — 2021" %}}
  9. - Reduced deployment time by **66%** by implementing ability to
  10. deploy locally-compiled binaries onto **Kubernetes**/**OpenShift**
  11. using only command-line.
  12. - Implemented ability for Kubernetes operator to fetch data
  13. from a deployed service and update config with data.
  14. - Automated the promotion and release process
  15. as part of the **Jenkins** release pipeline.
  16. - Wrote documentation on how to get started with the project to onboard new
  17. developers and mentored the incoming intern.
  18. - Presented a talk based on my experience called "8 Things I
  19. Learned About Software Engineering" to an audience of 75+
  20. in a conference for internship seekers.
  21. {{% /resume/section %}}<!--- }}} -->
  22. {{% resume/section skills %}}<!--- {{{ -->
  23. #### Languages
  24. - **Bash**, **C**, **CSS**, C++, **Fish** (shell), Godot, **HTML5**,
  25. **Python**, Java, **Javascript** (ES6), **Sass**
  26. #### Frameworks
  27. - **Bootstrap**, **Django**, **Node.js**, **PostgreSQL**
  28. #### Services
  29. - **DigitalOcean**, **Linux**, Heroku, **REST/Web API's**
  30. #### Tools
  31. - **Arch Linux**, Android Studio, **Debian**, **Command Line**,
  32. **Git**, IntelliJ IDEA, **Pycharm**, **NGINX**, npm/yarn, **SFTP**,
  33. **SSH**, **Vim**
  34. {{% /resume/section %}}<!--- }}} -->
  35. {{% resume/section projects %}}<!--- {{{ -->
  36. <!--- Spotify Graphs {{{ -->
  37. {{% resume/project name="Spotify Graphs"
  38. url="https://github.com/Kevin-Mok/spotify-lib-vis" date="June 2018 — July 2018"
  39. show="true" %}}
  40. - Implemented base functionality of scanning tracks and listening
  41. history from user's library using Spotify API and organized data
  42. into **PostgreSQL** database with **Django** backend.
  43. - Created and tested various relational database schemas to maximize
  44. efficiency for use cases.
  45. - Produced bubble chart and (stacked) bar chart using [**d3**]
  46. [d3 graph examples] to visualize the artists, genres and features of
  47. tracks in library.
  48. [d3 graph examples]: https://github.com/d3/d3/wiki/Gallery
  49. {{% /resume/project %}}
  50. <!--- Spotify Graphs }}} -->
  51. <!--- Grocery Finder {{{ -->
  52. {{% resume/project name="Grocery Finder"
  53. url="https://github.com/Kevin-Mok/grocery-finder" date="Feb. 2019 — Apr. 2019"
  54. show="true" %}}
  55. - Proof of concept for web app that finds the ideal supermarket based on your cart.
  56. - Designed responsive front-end layout using **Bootstrap**.
  57. - Implemented REST API functionality on backend using **Node.js** and
  58. **MongoDB**.
  59. - Setup deployment on [**Heroku**][Grocery Finder Heroku].
  60. - Led team of 4 as project leader to prioritize and delegate tasks while
  61. also implementing a majority of the core features.
  62. - Performed code review for team members' pull requests.
  63. [Grocery Finder Heroku]: http://www.grocery-finder.ml
  64. {{% /resume/project %}}
  65. <!--- Grocery Finder }}} -->
  66. <!--- ParsaFood {{{ -->
  67. {{% resume/project name="ParsaFood"
  68. url="https://github.com/Kevin-Mok/ParsaFood" date="Feb. 2018"
  69. show="true" %}}
  70. - **Android** app that reads ingredient labels and detects any dietary
  71. restrictions/allergies.
  72. - Designed user interface and linked various functionality together.
  73. - Made during a 24-hour [food-themed hackathon][Platterz Hackathon event]
  74. in a group with two other members. Came in 2<sup>nd</sup> place and won
  75. an [Oculus Rift][Oculus Rift Amazon].
  76. [Parsafood repo]: https://github.com/Kevin-Mok/ParsaFood
  77. [Platterz Hackathon event]:
  78. https://www.eventbrite.com/e/platterz-hackathon-tickets-42682237722
  79. [Oculus Rift Amazon]: https://www.amazon.ca/Oculus-Rift-Windows-VR-Headset/dp/B00VF0IXEY/ref=sr_1_1_sspa?ie=UTF8&qid=1520422949&sr=8-1-spons&keywords=oculus+rift&psc=1
  80. {{% /resume/project %}}
  81. <!--- ParsaFood }}} -->
  82. <!--- TrapBot {{{ -->
  83. {{% resume/project name="TrapBot"
  84. url="https://github.com/Kevin-Mok/TrapBot" date="March 2018" %}}
  85. - Use reddit API wrapper in **Python** to scan music subreddits for user
  86. comments containing common track listing formats.
  87. - Match detected track name and artists to track on SoundCloud using another
  88. Python API wrapper.
  89. - Respond to original poster's comment with formatted list of tracks found.
  90. - Received positive comment from users who replied to the bot's posts.
  91. {{% /resume/project %}}
  92. <!--- Grocery Finder }}} -->
  93. <!--- DigitalOcean {{{ -->
  94. {{% resume/project name="Personal Server"
  95. url="https://kevin-mok.com/server/" date="Aug. 2019 — present" %}}
  96. - Deployed various web apps with backends such as Node, PHP and Python using
  97. **NGINX** on a **Debian** server.
  98. - Monitor system resources and perform system maintenance using tmux.
  99. - Wrote [**Node.js** script][server script] and [**systemd** service][systemd service]/[timer]
  100. to check and display the uptime of my pages every hour.
  101. [server script]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-status.js
  102. [systemd service]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.service
  103. [timer]: https://git.kevin-mok.com/Kevin-Mok/server-pages/src/branch/master/server-pages.timer
  104. {{% /resume/project %}}
  105. <!--- DigitalOcean Droplet }}} -->
  106. <!--- Super ADA Bros. {{{ -->
  107. {{% resume/project name="Super ADA Bros"
  108. url="https://github.com/Kevin-Mok/SuperADABros" date="May 2019" %}}
  109. - Designed clone of Super Mario Bros 1-1, but Mario is mobility-impaired and
  110. uses ramps to get through the level.
  111. - Uses **OpenCV** to track player's head movement which is then translated to
  112. in-game movement. [Video Demo]
  113. - Implemented in [**Godot**][Godot site], an open-source game engine.
  114. - Made during a 24-hour [accessibility-themed hackathon][PC Hacks event].
  115. [PC Hacks event]: https://pchacks19.devpost.com/
  116. [Godot site]: https://godotengine.org
  117. [Video Demo]: https://youtu.be/vRdENLGrBqM
  118. {{% /resume/project %}}
  119. <!--- Grocery Finder }}} -->
  120. {{% /resume/section %}}<!--- }}} -->
  121. {{% resume/section education %}}<!--- {{{ -->
  122. {{% resume/education name="University of Toronto"
  123. title="Computer Science Specialist" date="2017 — 2021" %}}
  124. {{% /resume/section %}}<!--- }}} -->
  125. <!-- vim: fdm=marker -->