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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Waterloo co-op website :
17,300 co-op students enrolled over three semesters in more than 120 programs.
4,500 employers hire Waterloo co-op students.
Coming from a collegiate programming world, their ACM ICPC record is also pretty top-notch.
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.
The postindustrial side of KW may be the what gets all the PR and kudos, but as a whole, in terms of pure economic output and employment, manufacturing is still a substantially greater influence in the region.
https://uwaterloo.ca/jobmine/employers / https://uwaterloo.ca/hire/
But I disagree that Canadian developers would be appreciably cheaper. There are plenty of cities in the US that would be as cheap or cheaper than Toronto or Waterloo for a dev office.
Google really needs to take a hint from BufferBox. If they can set up parcel delivery sites everywhere, what about setting up small to medium sized offices in every major city so that people don't have to relocate to work with them. Start with Vancouver. Mozilla has an office here in Vancouver and near as I can tell its only function is so that local people can work close to home on one or another of the Mozilla projects.
In my opinion, this is the future of work. Small hubs colocated with other small hubs, so that you are not working remote alone, but with a handful of coworkers in a larger office environment that has many businesses sharing a building and the overhead things like receptionists, room booking, coffee rooms, etc.
However, when I went for my first internship in California (NVIDIA, with about 20 fellow UW students), I found out that most people there couldn't name a single Canadian school, but if they could, it was UW.
I also remember a poker dealer in Vegas seeing my friend's iron ring and guessing "Waterloo?".
It's a shame that more Waterloo folks don't stay in Canada and build their businesses here. Unlike when I was at UW, nowadays there is plenty of investment money available in Canada and significant tech hubs in Vancouver, Toronto and Waterloo itself. Not to mention the fact that even in less major Canadian cities (or the US Midwest) there actually is a tech scene happening and people are starting new businesses. It is no longer necessary to move far from home to build a tech business.
Look at how much YC has spent on its startups ... my memory might be faulty but when I heard pg give the number it was around 6 million. If the govt of Canada did a program similar to startup Chile where they would invest in people's startups for a few months, THAT would have been a game changer for the smart Waterloo and UofT grads. Squandered opportunities ...
They throw their students into the deep end and have them do multiple internships versus my public school in CA where I was the exception to the norm for doing an internship at all.
These people come out of school with the abilities of someone 2 years out of school but with the same freshness and excitement of other new grads.
As always, these stories about 'Canada's hidden talent pool' slide into a discussion about the 'brain drain'. Many of classmates from the class '07 ended up in the bay area, Seattle/Redmond, NYC or Boston. I'd estimate greater than 50%.
In fact, I'm one of them. While I may not be living in Canada, I still stay connected to my home. I have many friends who have moved to the US after school only to return to Canada when they're ready to settle down and have a family.
Canada remains a great place to live; I just wish we could decrease the cost of doing business between Canada & the US lower, and convince more Americans to move up north.
You can even move here to start a startup on our "start up visa program" http://www.cic.gc.ca/ENGLISH/immigrate/business/start-up/ind...
Then work your way towards citizenship.
Fewer differences between our universities is a plausible explanation. So is the possibility that Americans perceive differences that don't exist.
The next deadline to post a co-op is January 15, for students working in summer 2014.
(You can technically post now for the "continuous cycle" of Jan-Apr co-ops, but I think most students are already matched so you'll get fewer results.)
I think we topped Google one year too, but couldn't find a source.
It was a great program in that it actually tried to teach programming alongside classic CS (this was before the SoftEng degree), and forced you to get out in the real world as soon as possible. The biggest problem was that (due to the grind in years 3 and 4) most of my peers who graduated CS wound up hating computers and couldn't wait to get into management. Also, graduating tends to take 5-6 years due to the work terms. I left in 3B so didn't quite have those scars.
Its teams have finished among the top five 18 times since 1968, twice as many times as Stanford (though far fewer times than MIT, Princeton, or Harvard). This with a budget that's dwarfed by the schools who dominate the competition (and can afford expensive international recruitment). Waterloo had its heyday, interestingly enough, around the time that RIM was founded: beginning in 1978 it placed in the top five eleven of the following sixteen years.
I remember working with some Waterloo alumni from the 80s/90s and they spoke of the chaos of the application and ranking process when everything was done on paper. I personally can't even fanthom how UW managed to do any of this (although obviously there were less than half the number of students then to what we have today).
I can't say how it compares to other schools, but certainly many of my memories of CS at Waterloo were working feverishly through difficult math assignments so I could get back to the lab. ;)
Waterloo has co-op, 4 months school, 4 months work. This is really good for getting a feel for where you want to work. But the amount of time at the company isn't all that much. Depending on the company they may be reluctant to give you anything big to work on as you will be gone soon.
U of T has PEY, professional experience year, 12-16 months of internship. I really enjoyed my year off, made what I learnt at school make sense. When I came back to school after a year I was much more committed. The downfall is that for a few summers you maybe doing odd jobs to get by.
In terms of education, I think it really depends on the student. But talking to my buddies that went to Waterloo, the classes are smaller and it sounds like they actually care that you pass.
At U of T you get so much thrown at you that you have to learn what is important and only focus on those things. Pass or fail is up to you as it is super competitive.
Best of luck!
That course taught me how to make software.
Also factoring in the point that tuition for engineering is making a major hike (I think it was 5%?) and a lot of students get the 30% tuition cut from the provincial government (although this doesn't apply to 4B students).
From 2005 to now (@ $6300), it's gone up 8.5% per year on average.
Good to see that the university is keeping tuition affordable by keeping up with inflation. Not.
That eventually got absorbed into Powersoft, which was bought by Sybase, with the star being the DBMS that turned into SQL Anywhere, which became the ostensible reason for SAP's acquisition of Sybase.
(That story is of course oversimplified ...)
If you want to work on something relatively harmless (buttons on a web page) then it won't matter.