Life as an Undergraduate Research Assistant

For my fifth work term, I decided to try something different than the software engineering positions that I’ve had in all of my previous co-ops. This summer, I am an undergraduate research assistant (URA) within the mathematics faculty at the University of Waterloo.  In particular, I am working in the Combinatorics and Optimization department; and even more in particular, I am working in the area of scheduling. I will attempt to depict my life as a URA through a series of answers to frequently asked questions I’ve gotten this summer.

Why are you doing this?

I’ve gotten this question very often. In summary, this is my answer: “Why not?”.

Most friends in my circle are in the field of computer science. Currently, the demand for software engineers seems to be so high that there are more job listings than there are CS students to fill them.  Consequently, completing an internship outside of this lucrative field is practically unheard of.  Thus I definitely understand why I get asked this question so frequently.

I think one of the biggest benefits of the ability to complete six co-ops throughout your undergraduate career is that you can diversify them as much or as little as you like.  Some people take advantage of this by working on different teams at the same company, while others may choose to work at six different companies throughout their degree.

In my case, I had worked at several companies on different teams and learned various technologies; however, ultimately the only role I’d had was “software engineering”.  At this point, I only had one trajectory for my life after obtaining my undergraduate degree: continue my career as a software engineer at some tech company (most likely in Silicon Valley).  I am not saying I complained about this trajectory. I loved my previous software internships, and I know that I am very lucky to even have such a concrete career path.  However, I wanted to know whether there were any other possible options.  Not because my current options weren’t good enough; but rather, because if I didn’t explore now, it would be much harder to further on in my life and career.  I really had nothing to lose by trying out something different. If I didn’t like it, I could just return to the trajectory I was previously on.

The reason why I chose, in particular, to do research is because I like math and I like proofs.  I am doing research in math which involves me proving things (more details on this in the next question).

What do you do?

In research, you try to discover or prove something that nobody has ever done before.  That sounds really hard, of course, since humans have been discovering things ever since their existence.  You might think that everything that needed to be discovered has already been discovered; or at least, someone has already attempted to discover it.  This is definitely not true, as there are uncountably many questions in so many different areas that have yet to be answered.  However, it may not be the case that attaining an answer to each such question will prove to be beneficial to society in an obvious way.

I’m not trying to discover anything as momentous as proving P = NP or finding the cure for cancer.  Even if I make progress and attain an answer to my research problem, it is very unlikely that it will impact you or anyone you know in the slightest way.  The reality is that when you do “research”, you focus on a very very very specific topic in which 99.9999% of the world knows nothing about.  But there will be that 0.0001% (likely missing a couple 0’s) of people in the world who do care, the small number of people who are interested in research in my specific area.  In fact, for any problem across all different fields and topics, no matter how esoteric, there is a group of people interested in studying that problem.  This is a nice diagram on the progress of human knowledge.

I’m currently working with one specific NP-hard problem in scheduling. There is an efficient approximation algorithm for this problem, and I am trying to show that this algorithm outputs an answer that is not much worse than the optimal solution.  In other words, I am trying to prove that this algorithm is an \alpha-approximation algorithm, for some value of \alpha (our current conjecture is that \alpha is around 5/4).  In layman terms, there is an equation that I’m trying to prove is true.  Maybe I’ll go into the more technical details another time.

So what do I actually do on a day-to-day basis?  I sit down and think about my problem.  This usually involves me trying to figure out various properties of schedules from the given hypothesis, or attempting to solve the problem for a more restrained class of problems.  When I discover something new or interesting, I write it up in latex and also discuss it in meetings with my supervisor.

Do you enjoy it?

In terms of the actual work, yes I enjoy it very much.  I think I got lucky to have been matched with a great supervisor who gave me a problem that I found really interesting, and one that is not too impossible to solve (i.e. not as hard as proving Fermat’s Last Theorem).  I had already had enough background knowledge on the subject that I could get started thinking about the problem almost straight away.  As corny as it sounds, I find it quite exciting to work on and make progress on a problem that nobody else has solved.  I’ve enjoyed the research enough that it has motivated me to apply to graduate school.  I’d highly recommend this to anyone who loves thinking about challenging mathematical problems.

In terms of perks, the job does not give free food (or even free coffee), nor does it have an amazing office with scooters and nap pods.  It also does not have the financial incentives as that of a software engineer.  However, it has one amazing perk: flexibility.  I try to work regular 9-5 hours (well, normally 10:30-5), but I love that I can shift it around whenever I need to.  The only things that I need in order to work is pen and paper, so it really doesn’t matter where I am located. I can work at home if I don’t feel like going outside that day, or I can go rock climbing from noon to 3pm, and work before and after.  I can take days off without giving in any notice; I just have to make sure I show up to the scheduled meetings I have with my supervisor twice a week.  It doesn’t matter whether a day is a weekday, weekend, or a holiday; I can decide to work as much or as little as I want.

I see you slacking off all the time.  Do you actually work?

This might actually be the question that I’ve been asked most often.  Contrary to popular belief, the claim that “Jackie never works” is false.  Even though the number of hours I spend in the office every day is usually fewer than 7, I work assiduously both in and out of the office. Sometimes when I come home and I have nothing to do at 9pm, I sit at my desk with pen and paper thinking about my problem while occasionally watching YouTube videos (yes my life is that exciting!!). Or if a small problem has been bothering me the entire day, I feel the need to resolve it before I go to sleep.


I applied.

Are you going to go into academia?

So there it is, the FAQ’s I’ve gotten this summer.  Of course, this could just be me pretentiously answering questions about myself that nobody actually asked me. In that case, here are the answers that you never wanted.