The only technology related profession recognized under NAFTA for TN status is Computer Systems Analyst. That category requires either a Bachelor's degree, or some other post-secondary diploma/certificate + 3 years experience [1]. Also, the NAFTA definition of a Computer Systems Analyst specifically excludes computer programmers, so your job duties can't consist of primarily programming.
I am Canadian and recently tried to enter the US under TN status as a Librarian (for fellowship as a librarian at a university library). As soon as the CBP officer saw that I had a CS Bachelor's degree, and that I would be working with technology, he began to intensely question what my job duties would be. I was there for about 4 hours, questioned by several officers, and ultimately ended up getting denied entry because my job was going to involve too much programming in their opinion & my TN letter outlining my duties didn't convince them otherwise.
I think that my situation was partly bad luck/partly a bad TN letter, but the thing to keep in mind is that they do closely follow the NAFTA handbook [2] for job descriptions/duties, and anyone working primarily with technology is much more likely to get scrutinized. So make sure if you end up getting a job offer and decide to go the TN route, that the sponsorship letter from the employer follows the guidebook description of the profession you are applying under.
I'm not sure what visa types other computer programmers are usually admitted under, probably H1-B generally, but I'd be interested in finding out.
[1] http://canada.usembassy.gov/visas/doing-business-in-america/...
[2] http://www.tnvisabulletin.com/us-immigration-manuals-governi...