The Waterloo (CS/Eng) intern ecosystem is immensely strong. First year students generally work at the best companies that they can, often taking smaller startups where they are able to learn the most. There's a steady transition to final co-op terms, where most classmates end up working in Silicon Valley, Redmond, NYC, and their own startups. It's a great place to be if you want to be part of the brain drain.
Like many well-known American business schools, UW has the fortune of having graduates opting to return term-after-term to hire interns. Since UW interns are full-year round, this creates a dependency of companies to hire interns (compensation is less than full-time employees, but it's still nice).
While I understand that other schools may have 'almost' co-op programs, Waterloo's is the largest one in the continent (and perhaps the world too). By having multiple exposures to different employers, the school provides successful students the ability to quickly ascend the ranks of the corporate ladder while receiving academic instruction on how to be better at their jobs.
I understand a common problem at other universities is that courses are not always relevant to the real world. By placing students constantly in contact with production code, there is a strong backlash against badly taught and irrelevant course material. Waterloo is grounded in the real-world, as I think most of us live in it.
My only complaint is the geese and the timezone. I'd prefer to be on the west coast, but Waterloo is home (until Winter term).
The phrase state school is meaningless if you live in countries that don't have states.
Lather, rinse, repeat.
(Not that I'm complaining as I was part of the system and have benefited greatly from it. Co-op is a very, very big deal. But the professors and the school itself is not appreciably different from U of T or UBC or wherever)
Their co-op program was, and continues to be, pretty awesome. This, IMHO, is what first got the great students to go there.
With university cost only increasing its nice to know you'll be able to pay your way due to co-op.
Engineering and CS students subsidize the rest of the school in order to improve the university's rankings. We're just cash cows to them.
The McGill that earned McGill's reputation hasn't existed since people were going around in horse-drawn carriages.
Your point also suggests that it takes more than reputation to thrive.
In the U.S., there are dramatic weather and natural disasters that bring communities together. Floods, tornadoes, hurricanes, earth quakes. We don't have these extremes. But what we lack for in extreme weather, we make up for in volume. In Canada, we just have snow that has to get shovelled often. That means waking up a few times a week in your neighbourhood to shovel snow and side walks. Folks that don't do it are shamed and pressured into doing it. But even if they hold out, somebody just shovels the damn snow, because we're all the better for it. There is nothing more annoying than walking 90 m down a perfectly shovelled sidewalk and then having to walk 5 m along icy packed snow because some jerk refused to pitch in.
With snow, when everybody pitches in their share of effort, entire cities can function. That has a profound impact on how you see government programs. "If I pitch in my bit, and everybody pitches in theirs, our health care/education/transit system can be pretty good". Moreover, when you actually see cities dig out from underneath snow, you debunk the myth that people are lazy. Most people, and a vast majority at that, pitch in and get things going. Again, this contributes a great deal toward our mindset on social programs.
Being a top university with grads in high demand, it's actually amazing that Waterloo grads haven't gotten a reputation for being more arrogant. I know I was at one point in my life.
You don't have to have a certain surname to get into Waterloo. You'd be much better off just scoring well on the Fermat Contest. When nobody gives a shit what you have, and it's what you do that gets you places, you tend to be more modest. We have a long list of financial tools to make school happen for students that have the talent and will to go. We also have a fairly strong set of public school systems that get students to university's door. Again, these schools are accessible.
One of the sadder things about Google's founder success is that more parents want to emulate this success for their kids by keeping them away from Canada's otherwise pretty good public school system. It will quickly deteriorate if more parents pick up on this trend to send their kids to private or Montessori schools.
Well put. UBC grad here, living and working in the valley now but if I ever wanted to raise a family I would think strongly about moving back to Canada purely for the great accessibility to quality public education.
Elite US schools have an unparalleled reputation built upon hundreds of years of pedigree, and as such, there is incredibly fierce competition for entrance. Once you are admitted to an Ivy, the hard part is behind you, and you can get on with your courses. Uwaterloo is the the reverse: it is almost trivial to gain entrance, but surviving the devastating curriculum is another matter entirely.
Elite US schools have the best teachers in the world in my opinion, as the quality of their online lectures have shown. However, it appears that the assessment difficulty is similar to a top level Canadian schools (UofT, McGill, etc.). This is the crucial difference between UWaterloo and every other university.
UWaterloo assessment is brutal. In every way that an assessment can be made hard, it is done so. The tests are purely theoretical, making rote memorization useless. Furthermore, they are very long, putting slow and deep thinkers at a disadvantage. On top of all this, there is an extremely strict system of producing completely new exams and assignments, while making sure previous years' materials are not released. Combine this with an uncompromising curriculum in terms of breadth and depth, and you have one of the most rigorous CS programs in the world.
Now you can argue whether all of this is unnecessary (whiteboard vs terminal coding), but the truth is, the sheer difficulty of the challenge tends to weed out the uncommitted. The reason why UWaterloo grads are humble, is because they have had their egos beaten out of them. Without exception, every UW Math/CS undergrad is one of the smartest people in their high school/town/province. They come to UW, and within the first year, they have a serious confidence crisis as they are failing courses and getting marks they've never seen before (50s 60s 70s).
Once this occurs, they either quit, or swallow their ego and just focus on learning the material and preparing for the exams. There is no psychological foundation for arrogance, as even the best and brightest suffer failures repeatedly.
To summarize: UWaterloo is war. Your morale suffers, your friends fail and leave, and you lose all hope. But the few who survive are battle-hardend engineers by the end.
Unofficial UW motto: "Cry in the dojo, laugh in the battlefield."
Addendum: Co-op terms are a refreshing break from this academic war zone. I was always amazed at how simple, straightforward and fun actual work was in comparison to the ruthlessness of the curriculum.
Addendum II: Couldn't resist adding this hilarious interview with Elon Musk regarding his time at Queen's (another good Canadian school). He decided against UWaterloo, but for entirely different reasons:
This seems absurd. Both MathSoc and EngSoc maintain exam banks, which students can (and do!) contribute to. Professors release past midterms and finals to help students prepare all the time -- assuming they think they're relevant. (Sometimes they're not -- the accreditation boards and curriculum committees shuffle stuff around every few years to keep up with du jour trends in education.)
UW CS was the most brutal experience of my life and after 1 day of frosh week I realized every one I met was smarter and more accomplished than me. You get the pride and confidence beaten out of you so quick it's not funny. I powered through and hated every minute of it, but I didn't want to give up, I wanted to make it and show the world I could beat UW; it was the enemy. Many people I knew quit or disappeared after 1 year or 2nd year, I wanted to quit, I had many crises, but I brute forced through, clawing to the minimum required average to stay in the program. I was lucky to know at least a few others who were doing the same, which helped me feel not so alone. You swallow your pride and do everything you can to stay afloat, even while others around you take 1 extra full course a term while doing a double major with no effort and you wonder why you are so stupid or what planet everyone is from. We didn't get reading week, we got reading days, sometimes only day. You never got a summer break, only co-op, which was like a vacation compared to school, but it was the most useful thing of all I think. Everything was theory, it was so abstract and real world useless at the time that it bended your mind, this bugged me the most as an entrepreneur. By the end the work isn't easier, you are just better at managing your time and knowing how to defeat the non-stop barrage of assignments. You realize you should make more friends because some of the people that you always hated for having every answer first on the newsgroups, even outsmarting the TAs, was the guy who would be the top engineer at the best firms in no time, or that you can hire them and be unstoppable. The non-stop shifting between co-op and school made it feel like you were doing 3 years of experiences per 1 year, so time felt so distorted and you grew that much faster. Having the courage to move to a new city every 4 months and relearn everything also changes you. You knew what kind of experience having a job was and how disjointed it was from school. You learned what you didn't want to do, you started using your schooling to try and improve work places, and by the end you felt very comfortable with your skills and your knowledge of how the real world works. Pretty much everyone I knew had a job offer almost a year before graduating.
I think anyone else from UW would say the same thing, but during and for years after, being idle for more than an hour or two made you feel really really guilty, like you knew you should be working or making progress, and if you don't lose that feeling, you can accomplish great things very quickly. A weekend of relaxing was more stressful and unnerving than anything. I think most people leave Waterloo after they graduate because they hate it so much, it was so brutal that the city itself becomes an incarnation of what you experienced. It's getting better now, but damn did I hate everything for a long time. I beat it though, and I'm proud to say I survived.
I stuck around in Waterloo because I was an entrepreneur and I knew it was the best place to start a business. I volunteered and ran entrepreneurship organizations, tried to start my own companies and made a huge network. I flipped from hating Waterloo to loving it, and 10 years later I'm still here and running a funded startup. I wished Velocity and the Communitech Hub and all the other great stuff going on now was here back when I was in school, but so glad it's here now. The smarts, determination, experience and energy of these student entrepreneurs combined with the guidance and support of the programs makes for a very fierce advantage.
Thus you avoid, new people fresh out of education telling people they need to drop there old system and redo it and bookabibble-C as it is just the greatest for things that in reality are never used in the company.
I left edication as a COBOL programmer and could code lovely Jackson Structured Programs, totaly unaware of the GO TO verb even existed in COBOL, could do lovely variable writes with PIC X OCCURS DEPENDING and yet reality was use GO TO it is the site standard and faster code. Luckly I was young enough to not argue and learned the reasons behind it, though I only did a intense 2 year corse at college and no univercity. Had I went further before I entered employment then my attitude would of been more of an issue for me.
With that you can look at education as a drug, if left without any grounding work experience then the reality of what they see and what is needed can go adrift. That and a 5 minute fix could be charged as many thousands of income and a 5 hours fix can be charged at pennies, customer perception and with that another aspect we all learn. With that the best engineers can and do often make the worst people to put a value upon their work. Though that is another level.
Combined with the people who are here, waterloo is dripping with a sense of vigour that if you go looking for it will send you to great heights.
Think about it this way: Your buddies are starting companies, earning many thousands of dollars and changing the world in important areas; are you simply going to sit around and graduate? I think not.
Coming from a collegiate programming world, their ACM ICPC record is also pretty top-notch.
Students trade independence during summers for year-round schooling that has them gaining 2 years of work experience at up to 6 different organizations by the time they graduate. And the reputation of the program is such that, if you've got the ability, you'll get opportunities at the biggest tech players. On top of the work experience, you'll have a wealth of experience applying to literally hundreds of jobs, being interviewed, both technically and non-technically, perhaps as many times as you will for the rest of your career, and all of this while working alongside and competing with very bright peers.
From the Waterloo co-op website [1]: 17,300 co-op students enrolled over three semesters in more than 120 programs. 4,500 employers hire Waterloo co-op students.
[1] https://uwaterloo.ca/co-operative-education/about-co-operati...
The co-op program actually increases time to degree a little bit (three terms), because a “normal” 4 year university degree is 1/3 summer term, while Waterloo students alternate co-op term and academic term after their first two terms (I’m glossing over some details, but this is more or less how it used to work).
A = academic; S = summer (most universities); C = co-op (Waterloo)
Most unis : AASAASAASAA
Waterloo : AACACACACACACA
Essentially, Waterloo students get 8 academic terms and 6 co-op terms in 14 4-month terms. As others have mentioned, the history and structure of the co-op program means that students are getting industry experience very early on in university. The extra few terms seem like a small price to pay for that experience.
Most other (US / Canada) universities focus their teaching in the fall and winter terms so that a student will get 8 academic terms and 3 summer terms (where you’re much more on your own in terms of finding a summer job).
the system you gave is correct, but there is a little nuance to it. when you are on your academic term, around midterm time you have to find your job for the next term (assuming you don't continue your previous term's job). so during midterms you are studying like mad and interviewing like a pro to make next term work. its not easy, but you become extremely adept at interviews (trial by fire) and editing your resume. Also you get used to shrugging off rejection.
funny is if you get the Google, Apple, Amazon, Microsoft, or Facebook job. Your next term you can pretty much get a job at any of the others.
another scary tidbit at UW, is the level of talent around you. I can't tell you how many times my mind has been blown away by another person's ability to make some impossible assignment/task look like a cake walk. so its really hard to be arrogant at UW. I remember feeling like I can leap tall bounds in a single stride, but everyone else seems to just fly.
There really is something special about the way the school gets them ready.
The COOP office here is too afraid of looking bad by sending 1st years into COOP, so they only make it available starting 2nd year. If they'd understand better the nature of our industry and would let us start COOP earlier, it would be much better.
I guess it might be a consequence of being in Ottawa; the city is very government-employed, and thus the university has a very conservative and byzantine feel. Things move so slowly here and it's always a heavy admin process to change something. w.r.t to CS/SEG students, that impacts COOP and the material we're taught (which is deprecated).
A step in the right way is that they've now made COOP mandatory for everybody in Software Engineering, and made it start on the first summer (total of 5). I don't understand why it wasn't like that to begin with.
All in all, sometime I wish I was at UofW to be in a more interesting setting. But again, it's not so much about your university than about what work you do on your own.
Ontario, the province Waterloo is located in, has historically been pretty good about pushing technology, especially in rural areas. For instance, in the early to mid-nineties the rural public schools local to me had high speed internet connections, while I was reading articles about schools in big city USA that had no access to the internet at all. Today, we have a fibre optic internet connection to the farm, while I read about farms in the US still struggling with dialup connections. Additionally, programming has virtually always been a part of the school curriculum. My father even talks about programming on punch cards in high school. Again, I read about US schools only thinking about introducing this today.
I think that lead to a disproportionate number of young people growing up in the area of Waterloo with a strong technological mindset, due to availability of technology that much of North America did not have easy access to. Then, Waterloo, due to its reputation, gets the best of that bunch.
With all that said, I feel the government has pulled away from a lot of that technology spending in more recent times, so it will be interesting to see if Waterloo can maintain the quality of output for decades to come as the young children today come up through the system.