resume/Daniel Chen.typ
2023-10-24 10:51:37 -04:00

134 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "fontawesome.typ": fa, globe, github, linkedin, envelope
#import "lib.typ": template, work_entry, project, indent, SMALL_STRONG, DEFAULT_STRONG
// orange!!
#let color = rgb("#1f497d")
#let name = "Christopher Lam"
#let contact_data = (
(
service: fa[#github],
display: "github.com/christopherlam888",
link: "https://github.com/christopherlam888"
),
(
service: fa[#linkedin],
display: "linkedin.com/in/christopherlam888",
link: "https://www.linkedin.com/in/christopherlam888"
),
(
service: fa[#envelope],
display: "christopher.peter.lam@protonmail.com",
link: "mailto://christopher.peter.lam@protonmail.com"
),
)
#show: doc => template(name, contact_data, color, doc)
// MAIN CONTENT STARTS here
= Technical Skills
#indent[
*Languages:* Python, JavaScript, TypeScript, Kotlin, C, C++, Rust, Dart, Java, SQL, XML, XSL, Bash \
*Tools:* OpenCV, Flask, PostgreSQL, React, React Native, NodeJS, Express, MongoDB, Flutter, Linux
]
= Experience
#indent[
#work_entry(
"Software Developer, Software Quality Analyst",
"i4i Infrastructure for Information",
location: "Toronto",
start_date: "May 2023", end_date: "Sep 2023",
tasks: (
[Developed a program to automate converting hundreds of client data values from Excel to Word metadata],
[Designed Python, XML, and XSL code to extract and process data to interface with existing software products],
[Performed 1000+ functional, security, and stress tests to ensure quality for clients like Pfizer and Astellas],
[Communicated with developers and clients to perform root cause analysis on hundreds of major issues],
[Coordinated with management and team members to delegate work, present results, and meet deadlines]
)
)
#work_entry(
"Electrical/Communications Subsystem Lead",
"UW Orbital Engineering Design Team, Waterloo",
start_date: "Sep 2022", end_date: "present",
location: "Waterloo",
tasks: (
[Implemented the Diffie-Hellman key exchange in C using a 3072-bit prime number and 256-bit keys],
[Managed a team of 10 to develop electrical and power, battery management, ADCS, and computer systems],
[Led the design of the custom transceiver by reviewing schematics and optimizing the layout per RF guidelines],
[Validated PCBs with power and RF testing, resulting in a recorded 34 dB gain measured by VNA S-parameters],
)
)
]
= Projects
#set strong(delta: SMALL_STRONG)
#indent[
#project("Produce Palate", "https://github.com/potatoeggy/mandown", "Python, OpenCV, Scikit-learn, Flask")
- Created an image preprocessing algorithm to reduce noise, perform contour detection, and enhance colours
- Trained an AI image classifier model with KNN, Random Forest, and SVM algorithms tuned using grid search
- Achieved 96% accuracy recognizing 5 distinct classes of fruits and vegetables in a web game built with Flask
#project("Snake Wave", "https://github.com/potatoeggy/primoprod", "Python, OpenCV, Pygame, Flask, PostgreSQL, bcrypt")
- Designed a snake game controlled by hand gestures using OpenCV and Googles MediaPipe ML model
- Implemented a Flask API with PostgreSQL to handle user authentication with bcrypt and track a leaderboard
// #project("Kobink — Kobo Sync Server", "https://github.com/potatoeggy/kobink", "Rust, Axum, Postgres")
// - ??? something here (reverse engineering)
// - ??? something here (synchronisation and DB, HTTP headers)
#project("The Everyday Watch Collector App", "https://github.com/vincentjguo/recipeready-server", "Kotlin, XML, React, NodeJS, Express, MongoDB, JavaScript")
- Created a user-friendly interface to display 100+ glossary entries and 40+ videos using Kotlin and XML
- Utilized Retrofit and Gson to retrieve API data in JSON with seamless fallback to local data upon Internet loss
- Automated unit and instrumented tests using Espresso to ensure code quality and minimize regressions
- Developed a contributions page using React to send web inputs through a POST request to the REST API
- Deployed a REST API using NodeJS, Express, and MongoDB to perform CRUD operations on a cloud database
#project("Catholic Companion (Saints App)", "https://github.com/potatoeggy/boxboxrevolution", "React Native, TypeScript, Python, BeautifulSoup")
- Developed an app to display a saint of the day and a list of Catholic prayers in React Native and TypeScript
- Devised a web scraping algorithm to extract data with BeautifulSoup and clean data with LanguageTool
- Optimized performance with multithreading pools, resulting in a 5x increase in speed to retrieve 250 listings
]
#project("RecipeReady", "https://github.com/vincentjguo/recipeready-server", "Python, Selenium, Flutter, Dart")
- Produced a recipe app to help users plan daily meals with a weekly schedule and a generated grocery list
- Gathered 500+ recipes by scraping with Selenium, and created a REST API to get data from a cloud database
= Honours
#show link: underline
#block(inset: (right: 0.5em))[
#grid(
columns: (11fr, 3fr),
column-gutter: 1cm,
[
- 1st Place CubeSat Design Challenge, Canadian Satellite Design Challenge
- The Governor General's Academic Medal (Bronze Medal), Governor General of Canada
],
align(right)[
*2023*,
*2022*
]
)
]
= Education
#indent[
#work_entry(
"University of Waterloo",
"B.A.Sc. ing Computer Engineering",
start_date: "Sep 2022", end_date: "Apr 2027 (expected)",
location: "Waterloo, ON",
tasks: (
[Courses: Object-oriented programming, data structures & algorithms, digital computers & circuits],
)
)
]