1. Enroll in a US accredited university, preferably a Computer Science major. It does not have to be an Ivy League school like Harvard or Yale but avoid small ones where even the locals are not familiar with. Universities with high population of foreign students may help too. They usually have more variety of ethnic food from your country and easier to find friends.
  2. Apply F-1 visa at your US embassy. This is probably the hardest part, at least for Indonesian. Convince the visa officer that you will come back to your home country after you are graduated. Try to establish a strong connection between you and your country (family, business, etc).
  3. If you are given a programming project from your professor, try to work on an interesting project that will look good in your resume, for example “Design and Implementation of a Lightweight Web Crawler” or “Implementing an Interactive Form using AJAX“.
  4. Try to publish as much research papers as you can. No matter how crappy your paper is, it will make you look good, at least on your resume.
  5. Get a job at school. As an foreign student you can work up to 20 hours. Try to get a job that is computer related, such as lab assistant, web designer or tech support. Do not waste your time by working at the library, cafeteria or at the gyms.
  6. As soon as you are eligible for an internship program, apply for it. Internship is a temporary position (typically 3-6 months) within a company which is usually given to college or university students. Try to land an internship position in a big and well known company. Even if you won’t get full time job in that company, at least you have the experience. And also nothing can beat having “Work experience: Google Internship Program - Summer 2006″ in your resume.
  7. After you are graduated, you are entitled for OPT (Optional Practical Training). This is a 12-months period where you can work anywhere without worrying about work visa or green card. Choose the company carefully! This is the best opportunity to obtain a full time job. Do your research and find out if the company sponsors a H-1B visa and green card; and most likely will hire you before your 12-months OPT ends.
  8. Apply for H-1B visa. This is a temporary work visa that will allow you to live and work in United States legally for up to 6 years.
  9. Before your 6 years time up, apply for green card. Green card is an immigrant status that allows you to work and live in U.S permanently. Applying a green card is a lengthy process but shouldn’t be difficult as long as you have a good company that is willing to sponsor you. There are certain periods during the green card process that make it harder for you to go back to your home country for vacation, so be prepare to not see your family and friends back home for a while.
  10. Five years after you get your green card, you are eligible to apply for US citizenship. This step is optional. Some countries do not allow dual citizenship so you may have to give up your original citizenship.