Driving to work in the morning has now become an action that does not require thought. It’s hard to believe that only four months ago I was frantically studying for a quantum mechanics exam to finish undergrad–and even more, that four years ago I was just starting at the University of Waterloo (UW).

Postulate 1 of quantum mechanics says that a ket comprehensively represents all the information there is to know about a physical state. There is no proverbial ket that describes any period of time; rather, a season can be compared to a song with its various motifs, themes, and movements, or even a tapestry, with thousands of threads woven in.

Here are some of the threads of my time as a student at UW.


In high school, I thought I was going to Waterloo to learn how to code.

Instead, here is a short compilation of some adventures:

  • Fiddling with a Scribbler robot to make it play music
  • Writing innumerous brackets and trying to understand the Y combinator
  • Solving problems related to a turtle sitting on a car driving on a wedge
  • Using right hand rule during exams to make sense of electromagnetics
  • Messing up on calculations in nodal and mesh analysis
  • Diagonalizing matrices and appreciating eigenvalues and eigenvectors
  • Trembling during short speeches and skits about housing
  • Collecting garbage with my baby compiler
  • Struggling through Fourier analysis and recalling DRSA days
  • Trying to schedule a fair traffic lights and writing low level functions
  • Making Turing machines run Turing machines to prove computational complexity
  • Trying (and failing) to understand the axiom of choice
  • Big data hype - running MapReduce programs
  • Relearning optimization for ML proofs and trying to classify cats from non-cats
  • Scheduling jobs on machines and proving optimality
  • Drawing graphs in the air while doing graph theory proofs
  • Writing a concurrent vending machines system
  • Hacking a website in security class
  • Performing music again for Luther Village residents
  • Kets and quantum and matrix rotations

To be more data driven, here are some term averages, along with the number of credits gained each year. First year saw some marks of 100, second year saw some final exam marks near 60.

Each term had its unique challenges and changes. 1A to 2B were spent in Software Engineering. I discovered combinatorics and optimization courses, and our class also had a non-ideal experience with MSCI 261. To allow more course flexibility, and in order to take a C&O minor, I switched to CS in third year. This choice later unexpectedly allowed me to graduate in just 7 terms. Here is the spreadsheet used for course planning.

Waterloo’s co-op program has become world renown, and I think not without reason. The opportunities for growth throughout the process are invaluable. But what struck me the most was how upper years were so willing to help.

Here’s a snippet from my first ever resume critique.

Before the first interview season, upper years offered to help with interview skills. They taught me things from the basics, such as shaking hands and introducing myself, to things like optimal interview time slots.

Cracking the Coding Interview taught me data structures and algorithms.

First interviews came and passed. I learned about different ways to think through problems by working through interview problems with interviewers. Interviews during midterm season became a recurring theme.

Having received so much from others, I joined Shine and Rudi to start conducting mock interviews. Here’s a great write-up from Rudi discussing motivation for offering mock interviews.

The last job search during my time at Waterloo was for full-time positions. Although probably the least prepared for (graduating early was a last-minute decision), the many interviews beforehand were of much benefit. I also realized that interviews are not a necessary evil in the job search process; rather, they’re a great way to learn more about a company (and Python haha) and to meet people.


Now for the co-ops themselves.

I am deeply thankful for each mentor I’ve had, and the amazing managers and coworkers I’ve had the opportunity to work alongside.

For brevity, here are some of the highlights of my work terms: first year saw lots of pair programming, database sharding, and delicious food. I wrote a transaction failure detection system that later paged our TL at 4am. Second year, I researched graph partitioning algorithms, and also added to our graph query language. I also learned about quantitative models from an expert. Third year I learned about the ads ecosystem. Fourth year I trained an embedding model and watching the model learn relationships.

The most rewarding experience was building relationships with awesome people. Thank you to all who believed in me and gave opportunities, gave valuable insights and advice, opened my mindset and opened doors, and honestly shaped my future trajectory.

Co-ops also meant adventures. New friends, breathtaking hikes, beautiful music, delicious dumplings, memorable runs, shared food.


In first year, I attended some talks held by the Cheriton School of Computer Science. Sometimes interest can lead a lot further than expected.

These are my notes from the talk where it all started.

Following up on this talk led to an opportunity to take a big data course and run jobs on a Hadoop cluster.

I was further given the opportunity to work on digital archives and graph databases, learning much about research in the process.

Our graph database paper was accepted to GRADES, and we went to Chicago for SIGMOD!

After these things, I started an Accelerated Masters in Computer Science focusing on Machine Learning, and spent a term on Google’s Research and Machine Intelligence team working on conversational recommendations.

In my last year, the question of whether to pursue a PhD resulted in many conversations and pro/con charts. I decided not to go forward with it. Even so, the time spent in research was extremely rewarding.


I had the opportunity to live at home throughout university.

Friends often overheard me saying: “爸爸可以来接我吗?在垃圾桶,爱你!” Here is that infamous garbage can.

Living at home also meant watching 非诚勿扰 and Chinese dramas with mom, delicious homemade food, and the gift of time spent with family.


Co-ops in different cities brought me in and out of my home church and to other churches. I was very much encouraged by God’s family and their love for God.

Commutes to church varied from sunrise ferries to sunset walks.


So many times along the way I wandered from God. So many times I did silly things that hurt others and myself. Yet God’s mercy reached even unto me, and His faithfulness, love, and grace kept me. As my favorite hymn expounds:

Pardon for sin and a peace that endureth,
Thine own dear presence to cheer and to guide;
Strength for today and bright hope for tomorrow,
Great is Thy faithfulness, Lord, unto me!


The past four years have been an amazing adventure, and I trust, a foundation for the years to come. I cannot be more thankful for every one who has walked beside and impacted me in these four years. Every drive to work today would not be possible without you.