"US immigration policy is particularly ill-suited to startups, because it reflects a model of work from the 1970s. It assumes good technical people have college degrees, and that work means working for a big company.
If you don't have a college degree you can't get an H1B visa, the type usually issued to programmers. But a test that excludes Steve Jobs, Bill Gates, and Michael Dell can't be a good one. Plus you can't get a visa for working on your own company, only for working as an employee of someone else's. And if you want to apply for citizenship you daren't work for a startup at all, because if your sponsor goes out of business, you have to start over."
Getting a visa isn't always something you have control over. My best friend, having found a job at a YC startup, is currently held up at the boarder. The guards didn't seem to believe it was a real company. I was rejected for my TN visa once, and had to prove that the company I was to be working for was incorporated, along with a plethora of other documentation.
I'm still not sure how I'm supposed to get a visa to work at my startup. The rules for the TN-1 visa (for Canadians, I presume the TN-2 for Mexicans work similarly) say you can't be a controlling owner of the business you'd work for. Could you then get a whole bunch of Canadians together, no one of whom would have a controlling share, and found a company in the US?
I've tried to hunt down an answer to this, but to no avail. By the letter of the law, yes, one should be able to: this means that many college educated Canadians could bypass immigration entirely. But in practice it's up to the whim of the immigration guard, and people are kept out of the US, not allowed to work for completely legit companies.