I live in India, and recently completed training to be a computer programmer. I've heard that a visa called "H-1B" allows computer programmers to work in the U.S. How can I get one, and how long would it allow me to stay?
Computer programmers and high-tech workers can obtain H-1B visas to come to the U.S., but they aren't the only ones who may qualify for H-1B visas. The visa can be used by any worker coming to the U.S. temporarily to perform services in a so-called "specialty occupation" (for example, accountants, business managers, librarians, and medical and scientific workers) or by fashion models of distinguished merit and ability.
But back to your situation. The first thing you would need to qualify for the H-1B visa is a job offer from a U.S. employer. Then you'd have to go through an involved application process, which the employer would start off for you by filing what's called a labor condition application (LCA) with the U.S. Department of Labor, waiting for an answer, and then filing an "I-129 petition" with U. S. Citizenship and Immigration Services (USCIS). After the petition is approved, it would be your turn to apply for the visa at your local U.S. consulate.
All of this can take several months -- and is complicated by the fact that only 65,000 new H-1B visas are allotted per year. (But the first 20,000 applicants with master's degrees from U.S. universities are exempt from this cap.) Every year, the available visas run out, leaving many applicants waiting until October 1st, when a fresh supply is issued.
If you decide to go ahead and hunt for a job in the U.S. using your computer skills, it's best to find an employer who has been through the H-1B visa application process before, and understands what's involved.
H-1B visas usually allow people to stay in the U.S. and work for that employer for three years, with possible extensions up to a a maximum of six years.