This blog has surprisingly gained quite a bit of attention over the past few years. I use it for all of my job applications, of course, but it seems that most of my true readers are younger students looking to understand the CS and SE programs at Waterloo. Note that I’m getting to the age where my admissions experience may be irrelevant to prospective students, though luckily, my course work, job experience, and overall thoughts are still relevant.
If you are looking for an exciting career path that is in high demand, consider computer science. CS explores automating the way we do things, and creating solutions to make a troublesome task easier to perform. This has historically set fire to quite a few jobs done by hand or mechanically, but this is where the future is going. There are many branches to CS that I can explain, but that will be left as a Google search for the reader.
I’ve been stuck in a tech bubble for the past couple of years, so I always make sure I talk to some non-tech people to get their POV on the state of tech. Many people understand the significance and effects of social networking on brands and products. Many people understand smartphone technology. So interestingly enough, most people are on the same page.
Waterloo has a pretty decent CS curriculum. Unfortunately you don’t get to learn the more interesting stuff until 3rd year due to the way pre-requisites are laid out. It really isn’t until your upper years until you can explore topics like databases, artificial intelligence, concurrency, user interfaces, and operating systems. I know most of the top tech schools in the States have much more structured CS curriculum, likely with a larger variety of courses, so if you’re interested in further academia, make sure you consider schools in the States as well. Don’t look into it that much if you’re more interested in jumping into your career right after undergrad, though.
Waterloo co-op is all about learning these CS topics through both academia and during work, and trust me, you will not get anything quite as good as Waterloo. No other school will encourage you to work at 6 different companies for 4 months each, thus giving you 2 years of industry experience by the time you graduate. And it’s not even about the experience, it’s also about the connections you make at each of these workplaces that will be another benefit to you. You will not get this at UofT, McMaster, etc. Yes, companies hire from other schools, but it becomes obvious that companies prefer Waterloo because we are available year round, and because all students in co-op have required co-op credits, there is a larger set of available students, who also happen to have relevant work experience.
CS vs SE: in terms of career, you will get the EXACT SAME opportunities.
The quick run down is that you will have a lot of support as an engineering class through the SE program so the course work is manageable, and enjoyable to an extent. You will get enrolled into your required courses automatically so you don’t really have to worry about scheduling issues (that you normally experience as a CS student) until your late upper years. Depending on how active your class is, you may end up with a very lively and well-knit social group. This is difficult to attain if you’re in CS since no one is on a set schedule, unless you are extremely social. This can all be irrelevant if you naturally gravitate towards people outside of your program.
The workload is larger for SE in your first 5 semesters due to the large amount of engineering course requirements. You can still run into heavy workload in your next 3 semesters, but you have more freedom in your electives. For CS, you have freedom in electives throughout undergrad, allowing yourself to create your own workload. This is especially important to those who are interesting in doing a minor (nearly impossible for most engineering programs). Note that the experience is different from person to person depending on how much they take advantage of the benefits of either program.
Many people advise prospective students to simply choose CS if they are afraid of a heavy workload, but if you’re up for the challenge, pick SE, as you can switch to CS fairly easily.
For more on this please check out my other posts. Note that co-op jobs are not guaranteed. The resources are there for you, you just need to use them wisely and properly prepare.
PS. This post ended up being long, and I didn’t realize as I was in full screen mode. Whops..