A computer programmer/software engineer/software developer is not technically eligible for TN status. A 'Computer Systems Analyst' is eligible for TN status, but as an informal rule if your jobs involves more than 10%-20% coding you do not qualify for Computer Systems Analyst. While I'm sure many developers are working as a Computer System Analyst, they are at risk of being denied entry every time the enter the country if the USCIS official decides they do not qualify. So there are still significant immigration barriers that act to keep a good portion of Canadian talent in Canada.