first year in cs/bba

June 14, 2024

I'm the prime example of a student who should not have selected double degree.

The Admission:

I would have never thought to be accepted into Waterloo, during my time in high school, admission to UW was more of a dream than a goal I set. The graduating year before mine saw like 1 admission to the Universtiy of Waterloo despite my high school's notorious reputation with Waterloo math contests, so I truly believed our school had fell off, which led me to having lowest of expectations hearing back from Waterloo. Finally it came Waterloo's admissions time, and I had already paid my $500 housing deposit for UBC. Our admissions were rolling and I remember checking that one UW admissions discord daily during that final week of admissions in May for 105 students. I received my rejection from SE, relieving me of some stress and getting me kind of excited to be going to UBC, then a few days after I got an offer to CS, and CS/BBA from Waterloo.

Now CS/BBA was my last option choice, with SE being my first option. I ranked CS/BBA last on OUAC, and never even tailored my AIF for admission to this program, because I didn't even know what this program was about. It was just a backup, shot in the dark application to some program that I knew was an extra ticket to potentially get me into the CS program. Now that I had both offers to CS and CS/BBA, I ended up choosing CS/BBA because it was as close as I could get to a cohort system that I would have wanted from an engineering program, and also because I was looking at the atrocious co-op statistics of 2022 and coping with the thought that "2 degrees is better than 1" (the 2 degrees did not help with my first co-op search). Now for some background, I've never taken a single business course in high school, I've never joined a business related club in high school, I still don't know what DECA is, and yet I chose CS/BBA.

YVR -> YYZ -> University of Waterloo

I packed too much. I brought around 4 luggages (which ended up being a nuisance when it came time to move out of the dorm). The residence that I chose was UWP single in 2, which meant a private room for myself, with a shared kitchen and bathroom between us 2. My guess was a lot of students didn't know this room layout existed, and just assumed it meant a UWP double room and ranked it last. My roommate and I both got giant bedrooms (like actually HUGE, bigger than anywhere else on campus), and we only had to share a kitchen and bathroom between us two, when it's typically shared between 3-4 people.

I opted out of orientation. Probably a loser and edgy move, but honestly me moving, unpacking, shopping, exploring was already so tiring, I did not want to be going out doing more tiring activities and meeting people that I'll never see again when orientation finishes. Average orientation experience: "Hello -> what's your major -> where are you from -> you wanna add me on instagram?", then they disappear forever. Meeting tons of people in that first week was just as easy without orientation.

School Starts: Term 1A

I took the default 5 courses in my program: MATH135, MATH137, CS135, ECON120, BU111.

  • MATH135 (Algebra): The proofs course of first term. This class had weekly written assignments where you wrote proofs for 5 statements. I never took IB or AP, so everything in this course was new to me. My personal experience: I was initially terrified of this course reading about it online because I am a terrible contest writer. It turns out that for someone like me who doesn't have that math contest intution, I can just recognize patterns in the questions they give and apply the proof concepts they teach. I know alot of people probably studied this course a lot less than me since they can just wing alot of it on the exams, but I was able to succeed in the course in my own way (It pays off to do the practice because they do reuse/rephrase old questions from time to time).
  • MATH137 (Calculus): This course consisted of weekly quizzes, which are easy to cram for the night before. It felt like an extension of MATH135 with how much proofs we had to do, except the proofs are very formulaic.
  • CS135 (Functional Programming): Probably my most time consuming course of 1A. Spent endless hours grinding assignments, even when I started early. Getting these assignments done alone was definitely extremely rewarding, allowing me to barely need to study for the exams and still be confident.
  • BU111 (Introduction to Business): Didn't go to lectures after the first few weeks so I don't know if I should give an opinion... Course was doable with just the lecture slides.
  • EC120 (Microeconomics): Pretty much a clone of high school economics. Did not require much work.

My overall impression of CS/BBA after 1A was that BBA felt like a part time job, and CS felt like a full time job. Typical week consisted of feeling accomplishment and relief and success from finishing a difficult CS assignment or coming up with a genius proof, then suddenly being hit with the realization that I've been procrastinating a BU111 assignment for months, and am weeks behind on EC120. I learned that balance is important, and I also learned BBA is extremely crammable.

School Continues: Term 1B

I took the default 8 courses in my program: MATH136, MATH138, CS136, ECON140, BU121, COMMST223, PD1, CS136L.

  • MATH136 (Algebra): Now this course did not feel as rewarding as MATH135. It followed the same weekly pattern of, "heres a 15 theorems", "heres an assignment and a quiz, go use the theorems", rince and repeat. It felt too abstract to my liking, to the point where all the course content felt really meaningless to me.
  • MATH138 (Calculus II): This course is alot more similar to high school than the first calculus course. Same cycle of weekly quizzes as MATH137, and still very crammable.
  • CS136 (Algorithm Design & Data Abstraction): This felt a lot less fulfilling than CS135 even though this course moves away from Racket and to the C language. The assignments do not feel rewarding, and are often extremely frustrating because of the instructions. The solutions to assignments feel tedious and time consuming rather than interesting and educative.
  • CS136L (Linux Stuff): Kind of like a chore to complete. Occasional labs that take 1-3 hours out of my day. Instructions are clear for the lab, content seems useful in the real world, but since its a completion based course, I did not give it much time and effort, had to allocate elsewhere.
  • BU121 (Is this a business course?): An entire course on prompting ChatGPT?! (With some content about SDG's?). Felt completely unrelated to business, and wished they kept the old version of this course as it looked alot more useful and interesting. The case competitions/presentations just ended up being more applications of BU111 content rather than BU121 content because BU121 taught nothing business related. Really gave me a bad impression of the BBA program, hoping upper year courses can change that.
  • EC140 (Macroeconomics): Kind of a clone of high school economics? This course was a lot more conceptual/definition based than EC120 and continues off of where EC120 left off.
  • COMMST223 (Public Speaking): With Jeff Stacey this course is amazing. Basically no homework at all, just have to perform improptu speeches every lecture. An amazing course because I didn't have to even think about this course outside of lecture times
  • PD1 (Co-op help? idk): Just extra tedious work that jumps at you at random times. Course content is either common sense or inapplicable to my career path.

Now 1B was a mess for me. Courses were whatever, they were barely my priority in this term. 90% of my focus was on co-op search, which is not a wise thing to do, but it was what I felt was most important in my education at Waterloo, and was why I let my grades suffer as a result. I heard that general consesus is that this term is the hardest in double degree. My opinion is that what made this term hard was the terrible job market and seemingly impossible co-op search. If we had a good job market, I do not think this term is that crazy.

The Co-op Search Experience

Now my 1B term courses did not matter all that much in my head, because it was also co-op search time. My thoughts during summer break was, "2022's job market was pretty bad, I'm sure by the time we start looking, the job market will improve." It sure as hell did not improve. Nonetheless, I had prepared 3 new full-stack projects over the summer despite upper years telling new students to not worry about co-op so early (bad advice in my opinion for a time like this), and I refined my resume in that break between my 1A and 1B term in anticipation for a difficult first co-op search.

For some context, most of my applications went towards front-end, full-stack, back-end, and robotics, since they were most relevant to my resume. I also had no nepotism, referrals, or connections in the industry. Cycle 1 got me a big shot technical interview, I of course fumbled it and got ranked. I saw 0 interviews in Cycle 2, even by targetting low applicant & less desired jobs. Cycle 3 got me a marketing interview, got ranked but I gave it a "not interested." Externally however, I got a data science interview. It was a Python technical, and again, fumbled it. Now at this point I started to come to terms with the fact that I was going to WE Accelerate, the program you complete when you fail to find a co-op placement.

Fast forward to Cycle 6, I got 2 interviews. 1 for robotics, 1 for AI/ML. Both were FINALLY behavioral interviews, which I believe I did extremely well in. The robotics company sent in their rankings first, and I got.... ranked? Except the note they attached to my ranked result was, "Hi Evan, We'd like to extend an offer to you." I did not receive the offer. I don't know if it was a misclick or an automated message, but that did not feel well. The following week I got my result back from the AI position, which was a followup call. The followup call was to discuss when I'd be ready to work and if I'd be available at certain times for onboarding, so felt pretty much like an offer. Then 3-4 days later, I heard back that I won't be moving forward with the team. Overall a rollercoaster of events during finals week. I followed up on both companies asking about what happened, but received nothing.

My Key Takeaway: Prepare for technicals if you have a strong resume, even as a first year. Being a first year doesn't exclude you from landing the same great interviews as upper years. LeetCode, OOP, React trivia, etc. It does not feel good to fumble great jobs early on.

Now came Cycle 7? Cycle 8? School already ended, I flew back to Vancouver, and I received interviews for 2 positions in the schools IT department. 1 for AI and 1 for iOS/Android. They were behaviourals again, and I did just as well again. I ended up in the AI position where I'm currently working and I honestly really enjoy the work. My work focuses on the co-op department and co-op search. It is such a small team so I'm really hoping that I can make a big difference with my work.

Ending Stats:

  • 967 Total Applications
  • 362 WaterlooWorks Applications
  • 605 External Applications (LinkedIn, YC, etc.)
  • 6 Total Interviews (2 Technicals, 4 Behaviourals)
  • 1 Offer

Closing Remarks

Now why am I still in BBA? Why haven't I switched to CS? My logic as of now is:

  1. I'm hoping the business courses improve or become more relevant.
  2. I enjoy not needing to think about what electives to take.
  3. It is managable so why not finish it.
  4. Reoccuring presentations, speeches, case competitions, are valueable practice for communication skills.
  5. To be honest, clout 😭, class size of like 25 or something right now. I think it'd be accomplishing to be one of the last few standing. (This is a terrible and immature reason).

What I said here isn't meant to sway you into choosing or not choosing this program, it is purely my thoughts and opinions during the school year.