Perhaps this is the time where attempting to match your current interests with where you think your interests will be post-graduation would help. Are you in high-school or just about to finish up your Bachelors?<p>Specifically, Toronto seems to have a greater variation in the number and, presumably, types of firms that would seek out Comp Sci graduates. As an example, if you had an inclination to work within Finance tech, then your best bet by far would be Toronto since all the major financial firms and banks are located primarily in Toronto.<p>Alternatively, if you're interested in game development, I hear that Vancouver seems to have strong presence, mainly due to the influence of EA's Vancouver (Burnaby) location, with a vibrant startup scene. I haven't heard of other types of firms with a strong demand for CS in Vancouver other than gaming and startups.<p>I can't comment on Waterloo nor Montreal, except that they both seem to be continually growing tech hubs. RIM and UofW are strong reasons for the talent draws in the Waterloo region, and the Montreal startup scene seems quite lively.<p>From a salary perspective, most people tend to agree that Vancouver firms pay lower than Toronto equivalents. I can't comment on startup salaries since they're so specific to the situation (startup stage, equity vs. salary compensation considerations).<p>On a more personal note, although I agree that either city would make a fine home, I find Toronto highway traffic a complete mess compared to the Vancouver bridge bottlenecks. Tech events and gatherings tend to be located within downtown Toronto. A younger person will have more fun living downtown or in a subway accessible location. If your job is in Mississauga (due to the cheaper commercial lease rates), then from personal experience I can attest the commute will significantly bring down your quality of life.