Thanks to NAFTA it's relatively easy for citizens of the United States and Mexico to obtain temporary work permits if you have a profession on this list [1] and the credentials to back it up. This includes "Computer System Analyst" and "Engineer".
Sorry for the lateness of this reply. We've hired international hackers before and dealt with the long immigration process. Our philosophy is we'll do whatever's necessary to get great people on board, and as stated in this thread, the TN visa should make hiring Americans easy, though we've never done that. (I have interned at two American companies and that visa process was relatively painless, which bodes well.)
It's really difficult to try to interest people (software people in general) in working way up North here, so we're not too choosy about where they come from or what their background is, so long as they're bright, motivated, and interested in kicking ass. :)
If an American wanted to work long term at your company, is there a path to Canadian citizenship?
By the way, do Canadian companies provide health insurance? I keep hearing how good the government health care is in Canada, I'm curious how employers handle that.
You have to live in Canada as a perm resident for like 3 years to be able to apply for citizenship. They also don't force you to renounce your US citizenship, so you can be a dual-citizen. So far as the US is concerned, recognition of dual-citizenship status is the purview of the State Department (i.e. IIRC, there are no laws about it, so they can choose how they want to treat your dual-citizenship status as a matter of policy or on a case-by-case basis).