Help

My experiences with co-op at the University of Waterloo.

Posted: November 18, 2025 - Last Updated: November 18, 2025 - Tags:
#university
#co-op

As my second work term comes to an end, I thought it might be helpful for future students to write about my entire experiences and thoughts about co-op and internships in general.

A little background on me, I've done a few internships here and there, but to be honest, I got started with teaching programming first.

It's definitely really hard finding jobs with zero credentials, but tutoring was a great first option. It helped me get a deeper understanding of programming in general, and through teaching it to younger students, I was able to talk pretty extensively about programming with confidence.

Through Grade 11 and Grade 12, I continued this position, but I then also decided to enroll in my high school's co-op program. Although the name suggests something similar to Waterloo's co-op program, it's not that similar.

Here, I really struggled, I had to find a 5/6 month internship (not common) and I needed to find it within a month or I would be removed from the course itself. Not only that, it could only be half-day (part time), since I would still have to take 2 regular credit courses in the morning, and then commute to downtown Toronto from Oakville.

Thankfully, my teacher at the time, Mrs Barron, was able to help me find an opportunity at a company called SAP, I didn't know it at the time, but SAP is one of the biggest ERP (Enterprise Resource Planning) software companies in the world. I hadn't heard of them since they're primarily based in the EU, but nonetheless I applied and was able to get an interview.

With a pretty oddly formatted resume and a short call in our school's library, I was able to get the position.

SAP Internship

This was a really interesting experience. I got to experience corporate life at 17 years old, and at a somewhat large company, I got to see a lot of genuinely cool things. This was unfortunately a non-paid position, but I still got to work in office, and use a lot of the equipment/office space which was a lot of fun (occasional free lunches as well!)

SAP MakerSpace

Over these few months, I worked on a project to demonstrate the capabilities of one of the companies products, specifically SAP BTP (Business Technology Platform). You can imagine it as essentially a cloud platform for creating and deploying webapps on both mobile and desktop.

But in addition to this really fun project, I also ended up doing a lot of workshops with both public speaking, and VR (thanks Patrick). I also got a lot of career advice and exposure to this industry overall. There are lots of meetings, certifications, and just overall things going on.

In the end, I ended up developing an app I called RapidRx, this was around when GPT4o released, utilizing a public API, and a cloudflare worker, I was able to list out a bunch of different symptoms and then once I got the results back from the API, hook that up to GPT to generate some possible medications and remedies.

Pros? Cons?

Big tech was really fun, although I definitely wasn't getting paid, and it's not some FAANG level internship, I got exposed to a lot of how these companies operate.

Pros:

  • Occasional free lunches
  • Great first experience in tech
  • Exposure to many different positions and departments
  • Certifications/Workshops
  • Met lots of people who gave me genuine advice and feedback

FREE LUNCH!

Cons:

  • Dress Code (business casual)
  • Not getting paid (although this was expected)
  • Really slow development cycles
  • Less closely knit team environment
  • Commute was genuinely annoying... (1 hour each way)
  • Less ownership over projects

Fuego.io Software Engineering Internship

Fast forward to my first work term, I was a first year student at Waterloo, unfortunately, as a stream 4 student, I literally started applying the second day of school. Not fun. Thankfully, I had already prepared my resume and had projects and my internship + tutoring position to put down.

Even better, after my SAP internship, I got offered to work directly with one of my SAP mentors, and completed a short 1 month contract to help him build out a prototype for a new product.

Armed with my short experiences and my projects, I applied to around 50 positions every week.

Fast forward 300 applications, I didn't get a single interview. I was honestly being a bit selective but with no interviews at all, I was getting a bit worried.

Then I got an interview for a small startup called Fuego.io, based in San Francisco, California. I was pretty ecstatic about this, and so I did a bit of interview prep, and read over my resume many times.

After being interviewed by the founder directly, and talking about my experience with hackathons, working at SAP, and some of my other projects, I left the call feeling pretty good!

You can imagine my happiness a few days later when I got the offer and was ranked 1st (WaterlooWorks actually had a slight hiccup, so I thought I was not ranked at all, but turns out I was actually ranked 1...)

This position, although remote, paid quite well, and I was able to work at home, shipping features literally daily, and working on a really fun codebase.

Pros? Cons?

Pros:

  • Remote work was nice, I was able to eat whenever, and finish features on my own schedule
  • Paid well, I was able to save up a lot of money
  • Amazing team, although it was really small, I was able to work closely with our CTO and CEO
  • Couldn't have asked for a better mentor, Rubab genuinely helped me learn so much.
  • Stipend as well! I got to buy products from companies that Fuego worked with
  • Built out a really cool AI feature that helped build literal mobile apps.

Cons:

  • A bit boring at times, you are alone for most of the day, and will be staring at a screen for hours on end

As you can imagine, I had lots of fun and learned so much with this position, I also had almost zero cons to write about, just that it was a bit boring at times.

One day when my PC died lol

Grand Charter

After a really fun term at Fuego, I headed back to school and started 1B, applying to co-op positions again I was pretty confident, I ended up landing a few more interviews here and there, but I opted to decline some due to location and financial reasons. At this point, I knew how much money I could earn from co-ops, and my hope is that by 2A, I can completely pay for my own education. Because of this, even after getting a great offer from another startup in Toronto, I decided to decline it, and instead try applying to more companies. Some would call me risky, and even a bit picky, but I did really want to try working in person in the US. Although the cost of living would undoubtedly be higher, I would also likely get paid a better salary.

Then came another interview, this time for a startup with no website and nothing online called Grand Charter. I was honestly pretty worried about this one, the interview format was 2 back to back 45 minute interviews, and it was heavily implied that one would be technical and another behavioural/system design.

As someone who created many projects in my younger years for fun without any AI assistance, I was pretty confident in my system design skills, but I did worry for my technical interview. Although I did quite well in my programming course (I got 100 :D), I knew that technical interviews are usually a lot more difficult, especially when you compare them to big tech/startup interviews.

I basically then spent a whole day grinding out leetcodes, I ended up doing around 70 questions, and then spent the next day reading over my resume.

Fast forward to the interview, I thought I did pretty well on the technical, I ended up not actually doing the most optimal solution, but even with my naive solution, I was able to answer technical questions about it, and explain my thought process on problems that may come up if I were to implement this in the real world.

Genuinely, I was really happy with this interview, I know that my technical skills are definitely not on par with some third/fourth years, but my experience actually working and managing real world projects really helped me explain my thought process and my solutions.

After going into the second part, I was asked to design a complete system and of course also answer questions about this. I genuinely think I also did really well here. I was able to completely answer every question with a confident answer, and had a lot of fun explaining my thoughts on certain additions and problems that came up.

You can imagine my disappointment when a few days later when I ended up getting "Ranked", for those not familiar with WaterlooWorks, this means that I was not directly offered the position, but as I would later find out I ranked 2nd for the position.

I think the previous person ended up going to xAi instead, but thankfully he declined the offer, which I was genuinely so thankful for. I did have other offers from small companies/startups in Toronto, but this was probably one of the most stressful times in my life, juggling midterms, finals, issues, as well as my interviews, I was so thankful to have landed the position.

Happiness

Pros? Cons?

I'm now almost done my internship, and I couldn't be more sad. I only have a few weeks left, and it's genuinely made me consider what I want to do with my life.

The Final Dilemma

New York City

I'll save all the fun stuff I got to do for a later post, but I don't think I've ever felt more at home than I did working in New York.

It's been so fun, and I've been doing so much, and now, I have the opportunity to drop out and work full-time.

I don't know, is it worth it? I'm really really thinking hard about it, and I'm honestly still not sure.

My final pros and cons:

Pros:

  • I'll earn a significant amount of money and possible equity (easily comfortable, even for NYC), maybe not as much as if I graduated, but it's still a significant amount of money that will likely grow as I get better at programming.
  • I don't have to deal with school.
  • A second family? I've genuinely made so many new friends and I look forward to working with them everyday.
  • I get to do what I genuinely enjoy, professinally, at 19.
  • Have some of the most unforgettable experiences of my life.
  • Be around smart, older people, who are close enough in age to still be friends, but old enough to give advice and help me grow.
  • Meet so many cool and interesting people from all over the world.
  • Do whatever I want, whenever I want, and be completely independent.
  • Solidify my time in New York, and build lifelong friendships and relationships without having to cut them short every 4 months.

Cons:

  • I'll leave behind my family and will see them less and less as I get older, cutting from my already short time with them.
  • I'll leave behind my closest friend group, whom I share some of my brightest, best memories with.
  • I'll leave behind my friends at Waterloo, who have always supported me and helped me in my darkest, hardest times.
  • I'll leave behind my degree, something my parents have spent a lifetimes amount of money, time, and effort on.

So what do I do?

I, don't know? I don't know? I, don't know.

If all I want in life is to be happy and successful, it seems obvious, drop out. Why not do it now, if you'll be doing the exact same thing later.

But abandoning something that my parents have always wanted for me is already a hard decision, and if they haven't already sunk so much of their life into it, it would've been a no brainer.

But then again, sunk cost fallacy, the result of my and others previous decisions should never influence my future decisions.

But what if it all goes wrong? What if I end up with nothing.

But isn't the experience also worth something? Even it all goes wrong. Won't the happy memories and experiences I have be worth something? Anything?

But maybe, the hardest part isn't the choice, it's knowing that I'll leave behind another version of myself.

I don't know, please help