I recently moved to Vancouver, Canada after working for 3 years in the SF Bay Area and it has been a little bit of a shock. The companies I've seen here are not doing terribly exciting things and don't pay very well.
The biggest difference is they are much less willing to take a chance on people with only 3-4 years experience like me. On paper I don't have a whole lot of experience, but I've been obsessed with technology since I was very young and HAVE learnt a lot. In the right jobs, given responsibility, I have done more than people my "level" would typically do in a more conservative place. But I didn't realize just how special that is to SF - it seems like companies in Canada still treat software engineers as interchangeable cogs with "X years of experience/knows Y technology, does not know Z" stamped on their forehead.
I'm willing to move anywhere within Canada. Can anyone recommend companies and locations with a more optimistic/SF-ish culture willing to take a chance on passion & talent? Or even how to find places like that?
If you need to stay close to vancouver for family reasons, go work in seattle and get a nexus / global entry card and drive to see them. Cheaper rent, cheaper everything and much higher pay. As a person working in software, your health plan will be better than or equal to the Canadian system for your family and you'll still come out ahead $$ wise.
If your stuck in canada due to some visa snafu, maybe google waterloo then?