I also had a 2 year, and experience the first time. The first time I went to get a TN I had the words "programmer" and "developper" all through out my resume and my reference letters. I was denied. The reason given by the border guard was that I was a "programmer" not a "computer systems analyst". Like I said before, they don't know the difference, they only know what is in thier manual, and the job description in thie manual is just like the one on the ONET site, so you need to match "Computer Sytems Analyst" everywhere on your experience reference letters and your resume and take the job description from there.
When I changed those words to "computer systems analyst", I got approved.