http://www.nafsa.org/_/file/_/amresource/8cfr2146.htm
The TN visa has the advantage that the company doesn't need to do anything really, just make sure the job description ticks all the boxes for the immigration officers at the border. Other visa classes are more complex and costly (H1-B) and usually have the same kind of qualification requirements.
"Computer Systems Analyst" is the usual job title for programming jobs, you will need either a degree, or some post-secondary school training + 3 years experience. You can probably word your degrees + training to satisfy the education requirement.
The steps to get this visa are outlined here:
http://travel.state.gov/content/visas/english/employment/naf...