OutSYDE: A Reflection on the Past Year in Systems Design Engineering
This post was partially inspired by my friend Steven’s post on his experience with resilience and problem solving in ECE. While this piece is no longer the response post highlighting similar experiences in SYDE that I planned, I still think it is a good read.
Throughout high school, I spent my free time competing and working on side projects in the fields of information security and backend software development. However, in later years of high school, I began to tinker with electronics, CAD, 3D printing and had a bit of interest in UI/UX1. I also had a preference for applied over theory-based learning; I spent elementary school in the TDSB alternative school system2, liked building software projects more than studying DSA for competitive programming, and didn’t really enjoy math courses until I took Grade 12 Calculus and Data Management. When it came time to apply to university in grade 12, I was unsure of which path I wanted to follow: software/infosec or electronics/mechanical engineering.
This indecisiveness and my preference for application focused studies led me to apply to Systems Design Engineering at the University of Waterloo as my first choice. When I received and accepted my offer of admission to SYDE3 that May, little did I know I would end up attempting to transfer out to Computer Science in a year, one of the most difficult transfers to pull off in the university.
So why leave SYDE?
My first term in SYDE 1A was a big surprise in many ways.
I was never an amazing student in high school. Content being repeated constantly and textbook problems/assignments lacking problem-solving beyond what was shown in examples while remaining repetitively tedious left me uninterested and unmotivated in school. I spent a lot of time during school distracted by side projects like developing and rewriting octoprint-cli three times and extracurricular activities like CTF competitions and school clubs. As a result, I never ended up developing proper studying and time management skills, leading to me ending up in credit recovery once and hovering near the bottom of my super competitive MaCS@WLMCI class grades-wise. During the latter half of grade 11 and grade 12, I managed to adjust my time management and find a bit of interest in school, which was barely enough to get my grades up high enough to make it into UWaterloo.
Going into university, I was prepared for the large drop in grades that every first year student is warned about. Instead, I found that the faster pace in content and problem sets/assignments that actually tested problem-solving and understanding through novel challenges to be motivating and prompted me to explore subjects and applications outside the assessed topics. To my surprise, my favourite courses that term ended up being SYDE111 (Calculus 1) and SYDE113 (Elementary Engineering Math). These courses were very theory heavy, focusing on proofs, definitions, and techniques, but not covering very many applications. Working through proofs in problem sets and bonus assignments was novel and involved connecting together many definitions and topics. I also found that I was connecting a lot of the math content to subjects I was interested in, like connecting floating point arithmetic to CPU architectures and matrices to graph theory algorithms. This experience challenged my belief that I preferred more applied subjects and led me to be more interested in topics in computational theory.
Co-op job search forced me to re-evaluate my career interests and I realized I wanted to focus more on information security, in a security research or tooling development role. Mechanical and electronics design I determined was just a hobby and not a field I actually wanted to pursue as a career4 (and am not a fan of the physics courses required to study those two fields). I also ended up not being a very good front-end developer5 and theoretical UI/UX courses weren’t that interesting to me (but I still think every developer should take at least one UI/UX course). With my new focus being close to low-level/backend computer science and engineering instead of the high-level/frontend studies of Systems Design Engineering6, I started looking into a transfer to Computer Science, a program that would give me more flexibility in electives to pursue my interests in security, mathematics, and computational theory.
I reached out to a couple upper years that successfully transferred previously to ask about the process and their transfer averages. Their marks prior to the transfer were pretty high, and aiming to have marks on par with them was the source of a lot of stress over the past year. However, my increased interest in coursework (compared to high school) helped me develop studying skills, resulting in high enough grades to transfer. To my surprise, I also received a Term Dean’s Honours List recognition, which was the first time in my academic career I was anywhere close to the top of a class.
What about the SYDE community?
So far I have only mentioned the academic aspects of my experience in SYDE, but one of the biggest aspects and draws to the SYDE program is its community. The SYDE cohort was a big draw for me due to its similarity to the close-knit communities in the MaCS and TDSB alternative specialized programs I had been a student in prior. However, my experience within and opinion of the community/cohort has changed constantly throughout the past year.
SYDE’s uniqueness in its generality, content, and student interests within the Faculty of Engineering create a close-knit community in the program and its cohorts. The SYDE cohorts run their own events and there is a lot of mentorship offered by upper year cohorts. The broadness of the program means that it is easy to find classmates and upper-years that share interests and most students are constantly working on side projects, research, or design teams to gain more experience in the fields they want to specialize in. This is a really cool community to be around as it exposes you to fields you may have never heard of, encourages multidisciplinary work, and helps you make connections to people across many different industries.
However, for some students, this seems to come at the cost of neglecting academics. I think I’ve been pretty helpful, having spent a lot of time answering classmates’ questions after class or on Piazza over the past year. In 1A, many of my classmates seemed to have trouble with the pacing of SYDE113 Elementary Engineering Math lectures, so I shared my notes with the class to help others catch up. This prompted many of my classmates to send me their questions (and a few plagiarism requests :<) about every course and assignment, even if I never talked to the person asking before. Being overwhelmed and having zero ability to set personal boundaries at the time, I isolated myself from my classmates, spending most of my time with friends from high school that went into CS and other programs at Waterloo. During this first term, I made very few friends in the cohort due to the distance I maintained and from living off-campus.
1B turned out to be a better term. With most of my friends from high school having opposite co-op sequences, I ended up spending more time with my SYDE cohort: going to some SYDE events and spending more time with classmates studying, climbing, participating in clubs, working on side projects, or hanging out at CMH. Having learned to set personal boundaries, I made more friends within the cohort, a lot of whom I will miss spending as much time with going into CS.
The environment is also very inclusive, with many interests, backgrounds, and opinions. This was one of the big reasons I was drawn to the program initially over CS programs. CS programs stereotypically are male dominated toxic environments that encourage grinding LeetCode or startup ideas. This scared me off from the CS programs as a transgender student. However, as I went through first year, I became more exposed to increasing diversity within CS, the information security industry, and STEM in general within the university and online through the Fediverse.
Some info on internal transfers to CS
Knowing that it’s somewhat common for SYDE first years who entered the program for its generality to question their decision and consider transfers, like some of us upper years did, I’ll leave a bit of information about the transfer process here for future reference. Take the advice here with a grain of salt, as the requirements change term by term and the process is not very transparent.
As mentioned before, the Computer Science transfer has become one of the most difficult transfers to pull off at UWaterloo, reflecting the increasing competitiveness of admission to CS. It once was common for students rejected from CS at UWaterloo to join the university as general mathematics students just to transfer to CS after first year, but this quickly overwhelmed the limited availability of CS courses within the university. To stop this problem, the CS department now determines how many free CS spaces are available every term and selects the top students from the entire applicant pool (math students, engineering, geomatics, external applicants, etc) to fill this space. The number of free spaces is very small, which has led to the impression among most students that the CS transfer is nearly impossible (unless you are a Software Engineering student). Competitive requirements also mean admission averages change term to term, so CS academic advisors have very little information on requirements to share.
Despite these odds, SYDE over the past few years has maintained some limited success in students transferring to CS. To my knowledge, there have been at least 11 students to successfully transfer from SYDE to CS within the past three years (SYDE 25,26,27) in addition to a few other SYDE to Math, ECE, and BME transfers. The transfer process involves applying for both an engineering to math (cross-faculty) internal transfer and a math to CS transfer (which is conditional on getting the math transfer) at the same time. Both transfers consider your transcript and have a brief “supplementary application” form. The engineering to math transfer is the easier of the two to get, meaning if you don’t get the CS transfer but still get the math transfer, you have the option to transfer as an undeclared math major student. Based on my and some upper year experiences, here are some mark requirements to aim for (again take these with a grain of salt, we have observed that these changed year to year):
- CS Course Average (SYDE 121,223): mid to high 90s (CS academic advisers suggested above 95%)
- Math Course Average (SYDE 111,112,113,114): low to mid 90s
- Cumulative average (all courses): low 90s (only used as a tiebreaker after considering the two averages above)
- Previous offer decisions in grade 12 are not considered as a few of us successfully transferred even though we either got rejected from CS (a.k.a. deferred to Geomatics) or did not apply to CS at all
However, after mentioning that there is a transfer path from SYDE to CS, I would like to strongly discourage grade 12s from enrolling in SYDE if they are just trying to transfer to CS. The requirements are really high and there is no guarantee of success, which will be the cause of a lot of stress and insecurity in first year. I likely wouldn’t have even considered the transfer if my marks weren’t surprisingly high in 1A.
Info for grade 12s deciding between SYDE and CS
I didn’t want to write this piece discouraging prospective students from enrolling in SYDE @ UWaterloo. I genuinely think it is a great program if you like higher-level design/engineering, UI/UX, front-end development, product management, or just generally are unsure of what career field you want to pursue in STEM. The community and the connections you will make is also amazing if you prioritize academic aspects less. However, I do think that if you are more back-end, infrastructure, security, or computing theory focused, CS is definitely a more relevant program in course material, and you will find more peers interested in those fields. SYDE’s generalization makes it definitely possible to get into these fields (if you really value its non-academic aspects) but it is more difficult and may require spending free time learning or working on side projects to gain the necessary experience to enter such fields. If you are open to spending a bit of free time on projects, both degrees are great options for entering software related careers, and you should consider your how much you prioritize academic relevance versus community. I would highly recommend taking a look at degree requirements within the undergraduate studies calendar to see if the courses required are really what you want to study for the next five years.
I gathered some opinions from a few friends within SYDE and CS to elaborate some more beyond my own experiences and opinions:
When it was time to decide what program to do, I was very close to choosing CS/BBA but ultimately chose SYDE. Unlike typical STEM students, I liked Social Sciences and business while simultaneously being a robotics kid for 8 years and loving my computer science classes in high school. When it came down to it, I chose SYDE because I always wanted to do engineering (because of the robotics) and felt that I could do anything after SYDE, whether it be software, robotics, PM, or something more management-y; it was broader than CS even though there was less room to choose courses. Now, one year later, I am really happy in SYDE and with my decision. It was so easy to make friends, and I love how everyone really got each other’s back. I do sometimes feel like what I am learning isn’t really useful and there’s no flexibility to change your co-op sequence if an opportunity arises, but it’s a tradeoff I’m willing to make because I love SYDE<3
- Jacqueline Fung (SYDE 27)
Coming from competitive programming, picking SYDE over CS was out of the blue for me. This decision was partially because I flipped a coin but also because I was pretty sick of the toxic community I was in for CP. Looking back, do I regret my decision? Yes, in the sense that engineering courses suck up SO much of your time, making focusing on leetcode/personal projects harder but also no, because SYDE has exactly the community I was looking for. You win sum you dim sum, if you value community then go SYDE if you want to focus on career and take the easiest path go CS.
- Annie Cai (SYDE 27)
In high school, my career vision was to do something related to software or pm, and syde was the hands down best interdisciplinary engineering program that could allow me to try both. The coop stats were almost all either swe/pm which was really enticing. However, i ended up choosing cs/bba with the justification that the cs degree was directly related to a swe career - likewise for bba and pm. So it seemed like a more logical choice for me at the time, especially since i didn’t really know what “engineering” as a whole really entailed in high school. I can add on that now i’m not too sure i made the right choice because i have MANY aspects of the cs degree i am not enjoying. Being part of the math faculty meant being forced to learn abstract pure math concepts that i do not see myself ever applying outside of, or after university. I can definitely say engineering content would have been more interesting for me as i enjoyed the applied sciences the most in high school.
- Polly Liu (CS 27)
I struggled deciding wheter to enter syde or cs for my undergrad, however, I finally decided to choose syde due to the one major difference between syde and cs: community. After asking countless CS students, I’ve found the flexibility, and directness of CS are best for people who are fully self motivated, know what they’re going to do, and are ready to work mostly alone. I am not this type of person. One of the greatest’s strengths of SYDE is it’s intense and rock solid inter-year relations. I was overwhelmed with the enthusiasm and support our upper year sydes provided us as we entered first year, with resume roasts and mentors rushing to help and support us as we started our job hunts. I can confidently say, without this support, I wouldn’t be able to experience half the things I’ve been able to at UW.
This being said, I’ve had my doubts about my decision. Esspecially in first year, I felt that the slightly lighter coursework of syde made me question it’s authenticity as a Waterloo Engineering degree, and it’s end value. However, these realizations have been starkly disproven after going through a year of the program. It is now clear to me that while the course work is slightly lighter (still alot… it’s still very much eng 😭), it’s the opportunities that you can purse while being in syde that make it worth it.
I do not regret my decision to join syde, and strongly encourage other individuals who thrive in communities to apply. (#SYDEONTOP)
- Aava Sapkota (SYDE 27)
I entered SYDE for the cohort system and its design oriented courses. While being in SYDE, I found that I do just want to pursue software, I enjoyed proofs, and I liked CS’s flexibility, which made me want to transfer. After talking to a SYDE friend who has the same thought, we decided to go through with the transfer application. However, I think the first year in SYDE was really nice. The multidisciplinary community also exposes you to more insights on what kind of jobs there are out there and how people manage to secure those jobs. Additionally, because everyone spends hours together in class everyday, it was relatively easy to make friends. After entering CS, I’ve observed a pattern where everyone sits 2 seats away from you and no one wants to talk, probably as the result of everyone having very different schedules and having to rush to their next classes on the other end of campus given only a 10 minute transition period. So even after transferring over, my friends made in university are still from SYDE, including my SYDE->CS friend and their friend.
- Shari Sun (SYDE 26 → CS 26)
Thanks to Jackie, Annie, Aava, Polly, Shari, Jake, and Celeste for their contributions, feedback, and support for me writing about my experience. Also thank you Steven for the inspiration for this blog post.
Was and still am interested in how UX and the steep learning curve discourages students from adopting open source and privacy oriented software like Linux distributions ↩
The alternative school system are smaller specialized schools within the TDSB that emphasize hands-on learning and school community (see: https://www.tdsb.on.ca/alternativeschools/) ↩
Also received my deferral from Waterloo Computer Science to Geomatics which is hilarious in hindsight (for those unfamiliar with Waterloo CS, they almost never reject applicants, instead they defer applicants to the Geomatics program in the Faculty of Environment) ↩
Unless I end up doing hardware security research which will actually require a decent amount of electronics knowledge ↩
If I was better at frontend and UI maybe I would have made a site that looked better than Windows 98 (which is what my site was designed around at the time of writing), or maybe I’m actually an amazing UI designer taking advantage of user familiarity and consistency like we were taught in SYDE162 🤣. I also disagree with the opinion that UI/UX designers have where they think command line interfaces suck ↩
I also had a very unfortunate job interview with a security vendor where the interviewer who knew that SYDE was a front-end focused program asked “What is SYDE and how does it related to security research?” There are valid answers (ex. phishing research) but they were a stretch in this web backend-focused position ↩