Recommendation Letters for MS CS programs I have graduated nearly 5 years ago and I want to get a Computer Science Master's degree from an above average school in U.S. or Canada, preferably a thesis based degree.

However, I am having difficulty in getting recommendation letters since I graduated long time ago. And, even if I get any letters, my professors are not professional, they ask me to write them myself. Long ago when I asked for a position they did so and sure they will do the same now. So I got stuck in an handicapped position for my future grad school pursuits.

Please recommend me some ways to overcome this situation. Should I go for a one term non-degree program in U.S. or Europe to get a letter from a professional member of an academic community who is capable of doing this job.

End Note: I am in a third world country.
It's important to have at least one letter from a former professor, but especially for a professional master's degree, strong recommendation letters from work supervisors can also be effective, as long as they're tuned correctly.  I did this.  It's probably best to ask someone with an advanced degree if possible — not for the pedigree, but because they might remember academic culture/goals better than someone who hasn't spent time in the ivory tower.  It's important that your letter does not simply praise you as a programmer, but as a potential computer scientist.  The letter should emphasize your intellectual and creative contributions, your problem-solving skills, and your potential for further academic study.

Remember that writing academic recommendation letters is not a standard part of most industry management jobs; you are asking for a significant favor.  Nevertheless, you should strongly resist requests to write the letter yourself.  Have an open and frank discussion about the purpose of the letter, their perceptions of your matching strengths, the points that you think should be emphasized.  Give them your CV with appropriate points highlighted.  Then ask them again if they are willing to write you a strong recommendation letter; be sincerely willing to take no for an answer.

Signing up for a short non-degree program in U.S. or Europe is an excellent idea, but it's important to take proper advantage.  Don't just sit in class and get an A.  Talk with your instructors early about your goals for graduate study.  Try to get involved with faculty research, or at lest an independent study project.

Finally, I'd recommend pursuing both of these avenues simultaneously.  Give yourself as many options as possible!