Hello all,
Aside from the arguments and the two point of views that can be biased to extremes of making the matter as impossible as going to the moon in ford 1999 car or easy as taking a piece of cake from a 2 years old boy , let me share my opinion with you that is based on several stories of people I know wo immigrated to Canada.
The answer in short, it totally depends, not all cases are alike by all means.
Let me elaborate a little bit.
Let's say you are a Java developer, you know core Java and some J2EE like hibernate and so, can you get an offer before landing? The idea here is that there are probably thousands of people like you who are already in Canada and are actively looking for a job as a Java developer, why would any employer risk hiring someone over the seas and wait for him till he comes to Canada and settle down? He already has tens of applicants who have equivalent experience as you have. Unless you have something very unique and distinguishing in your CV (like working with SUN team who developed Java), then your chances are almost impossible.
This also goes for other common titles like DB admin, Systems admin and so on.
On the other hand, if a company is working on something very specific, like they are starting a new Enterprise bus on Tibco business works and in need of some Tibco developers. There are not much out there, and if you have worked on some projects in Tibco for big companies and for example Tibco certified developer, then yes, you are very likely to be worth waiting for and have a job offer before you reach Canada. Of course that is if you somehow found a way to get your CV to reach the right people and not be missed out among the CVs of hundreds of applicants that 90% of them didn't even read the required qualifications of the job but just applied and made it a harder for relevant people to be seen.
One last thing, in any case, it GOD's will that will be and he can be giving to whoever he wants whenever he wants wherever he wants.