Law Offices of Stuart J. Reich, PLLC

Practice Limited to Immigration & Nationality Law

11 Broadway, Suite 615
New York, NY 10004

(212) 430-6582 phone
(212) 430-6583 facsimile

The Software Engineer: A Walk-Through of the Process


The Software Engineer

This discussion will follow a fairly typical Software Engineer on her journey through the U.S. immigration system from the time she first seeks to enter the U.S. through to U.S. permanent residence (a "green card").


Education and work history abroad


The Software Engineer had graduated from a Bachelor's degree program in her home country about five years ago with a degree in Computer Science. She then worked for two years as a programmer, where her skills impressed her employers. This led the employer to move her up to an applications software development position where she remained for a year. She decided during this year that she truly enjoyed this type of work and that she would pursue a Master's degree in Computer Science to further her career. The Software Engineer applies to a Master's program at a U.S. University and is accepted.


Study in the US, transition to work


The U.S. University, upon receiving the Software Engineer's acceptance of their offer to attend, issues to her an I-20 form. She submits this as part of her application for a non-immigrant visa stamp at the consulate in her home country, along with a completed DS-160 form, her home-country passport, two passport-style photographs, evidence of financial support while in the U.S., the required visa processing and reciprocity fee, and any other evidence specifically requested by this consular post as discussed on the post's web site. The consulate approves her application, and places an F-1 Student Visa stamp in her passport.

The Software Engineer then travels to the U.S. to begin her studies. She is admitted to the U.S. and her passport is stamped with the entry date and place and annotated "D/S" by the admitting officer (the I-94 she prints online says the same: "F-1, D/S").

"D/S" stands for Duration of Status. F-1 and J-1 visas (and several others) are valid for the duration of the educational or exchange program respectively, and thus the I-94 refers to the program and the program documents (I-94 or DS-2019) by saying "D/S" to determine the length of valid status instead of stating a finite expiration date.

During the second year of her program, the Software Engineer secures a one-semester internship with a major software company for which she will receive academic credit. With an endorsement from the University's Foreign Student Officer on the back of her I-20 form, she is allowed to work up to 20 hours a week. This type of authorization for employment is called "Curricular Practical Training," and requires nothing more than this endorsement.

The software company is impressed with the Software Engineer, and offers her a full-time job upon graduation.


Beginning a career, first work visa


As an F-1 student she may work for up to one full year on "Optional Practical Training" or "OPT" since she has not used 12 months or more of full-time curricular practical training (a period of twelve months or more is deducted from the initial 12 months of OPT).

To be able to work on OPT after completion of the academic program, she needs to apply for an Employment Authorization Document or "EAD" from Citizenship and Immigration Services before the end of the program. If she were seeking to use OPT during the program (like CPT, at least a year of the academic program must be completed before the student is eligible), she must apply no earlier than 90 days before the program completion date, and no later than 60 days after. The Software Engineer's application for OPT is approved with a start date of June 15, and an expiration date of June 14 of the following year.

The software company continues to be happy with the Software Engineer's work, and consults their immigration attorney for a long-term strategy to keep her on board. They settle on a two-part strategy involving both an extension of OPT and a petition for an H-1B nonimmigrant visa. Both have shortcomings and advantages, but can be used together to the best effect.

The initial period of OPT is limited in duration to the one year that almost any F-1 program graduate would qualify for after completing a US degree program on an F-1 visa. However, those graduating from qualifying STEM degree programs can apply for and obtain an additional 24 months of OPT employment authorization. There are several possible disadvantages here, beyond the limitation of only two additional years’ authorization: the employer must use the E-Verify program to check employment authorization documents (not every employer will be willing to sign up for this somewhat intrusive program if not already using the system). Also, there must be a comprehensive training plan submitted, and as the underlying F-1 visa still requires nonimmigrant intent, beginning a permanent residence process while still on OPT is inadvisable.

An H-1B visa certainly has advantages: a total of six allowable years (in increments of up to three years at a time), plus the ability to begin a green card process as the visa permits “dual intent” (the simultaneous desire to remain in the US for the temporary duration of the visa, and eventually obtain permanent residence to remain). It has its own disadvantages, the biggest of which is availability: there are usually far more H-1B petitions than there are available H-1Bs, and a petition must be selected by USCIS in a random lottery before it will even be reviewed on the merits.

When used together, the OPT with STEM extension and the H-1B make for a good longer-term plan: The Software Engineer can remain here and working long enough to have up to three chances to apply for an H-1B.

Even though only about nine months of the 12-month OPT period have been completed, the company submits the H-1B application in the first week of April to use this chance to be selected in the H-1B lottery. USCIS generally accepts H-1B petitions for the first five business days of April for the following fiscal year's cap allotment, and then - if more petitions are received than the number of H-1Bs allotted under the cap - cuts off acceptance of further petitions and then conducts a lottery to see which of the petitions filed will be accepted for adjudication on the merits of the case itself.

As expected, there are in fact more petitions submitted than available H-1Bs, and USCIS conducts a lottery for the available visas. Unfortunately, the petition the company has filed for the software engineer isn't selected in the lottery even though – as the Software Engineer has a US Master’s degree – she is eligible for both the lottery for the 20,000 H-1Bs allotted to those with such degrees, and if not selected for the general lottery for the 65,000 base H-1B allotment.

Had the H-1B been selected for processing in the lottery, the Software Engineer could simply have used a "cap-gap" extension to remain in the US past the June 14 OPT expiration and continue working up through September 30th (with the H-1B becoming effecting October 1). This simply requires an I-20 endorsement form the school, granted upon proof that an employer has submitted a cap-subject H-1B petition that was selected under the cap for an October 1 start date.

On the other hand, had the Software Engineer not had a STEM degree and not selected in the lottery for processing, she would have needed to seek some other visa option to remain -she would not have been eligible for a cap-gap extension past the June 14 expiration date.

The Software Engineer continues to work for the company using her STEM OPT extension. The following year, the company again files a petition for her on April 1. This time, although even more petitions were filed than the year before, the petition is selected in the lottery for an available H-1B number and USCIS processes the case.

The H-1B petition is approved with a change of status from F-1 to H-1B and an October 1 start date, and on October 1 the Software Engineer begins officially working for the company on the H-1B. She did not need to leave the U.S., get a passport stamp for the H-1B and return since the H-1B was granted with a "change of status" here in the U.S. The H-1B was granted for a three-year period, and will be extendable for another three years.


First work visa stamp, marriage, derivative visa, beginning of permanent residence case


Since the Software Engineer has been working for the company for over two years at this point, she has accrued significant vacation time that she has not yet used. She decides to travel home in December to visit family. Because she changed status within the U.S. (and so switched to the H-1B automatically without needing to leave to obtain a visa stamp for reentry), during this trip she will need to apply at the U.S. consulate in or nearest to her home city for an H-1B passport stamp with which to reenter the U.S. She applies at the consulate, is approved, and receives her passport back with a Machine-Readable Visa ("MRV") stamp.

Also during this visit home, the Software Engineer meets a man living and working in India as an Aeronautical Engineer and becomes romantically involved. They continue to correspond after she returns to the U.S., and several months later she returns to India to visit him. Once again, they continue to correspond after her return to the U.S., and decide to become engaged soon after. She returns once again for an engagement ceremony.

At around this same time, the software company decides to begin the process of sponsoring the Software Engineer for U.S. permanent residence. The company begins running advertisements to demonstrate the necessary recruitment efforts for a labor certification application under the PERM process. The software company then completes the necessary recruitment steps of the application. The PERM application is filed in May, and in July the Software Engineer returns to India for her wedding.

Immediately after the wedding, the Aeronautical Engineer applies and is approved for an H-4 visa at the U.S. consulate so that he can accompany his new wife to the U.S. quickly, without waiting for USCIS Service Center approval of some other visa.

He enters the U.S. with the Software Engineer on his new H-4 visa, knowing that he will not be able to work on the H-4. Rather, he will need to obtain an H-1B or some other visa which permits work once he obtains an offer of employment in the U.S….himself having to go through the H-1B lottery successfully. The newlywed couple have no problem entering on their H visas even though the Software Engineer's employer has begun the permanent residence process, since the H visa permits "dual intent" - the intent to enter for a limited time for now, while also eventually intending to remain in the U.S. as a permanent resident.


Permanent residence case progression for the couple, success after a setback


The labor certification is approved soon after, and in October the software company files an I-140 Immigrant Visa Petition for the Software Engineer. As the job required at a minimum a Master’s degree, the Petition is approved in the 2nd preference classification (EB-2). Since immigrant visa numbers happen to be currently available for 2nd preference applicants from India at the particular time when the filing is to occur (something that is certainly not always the case), the I-485 Applications to Adjust Status to Permanent Residence of the Software Engineer can be filed along with the I-140. A separate I-485 is filed at the same time for the husband as a derivative spouse

Both the Software Engineer and her husband are entitled to file for separate travel authorizations known as "Advance Parole" and Employment Authorization Documents along with the I-485 applications based on nothing more than having this I-485 application on file.

Since they both have significant time remaining on their H visas, and since individuals with valid H and L visas may travel on those visas without abandoning the pending I-485 Adjustment applications, they do not apply for Advance Parole. However, they do both apply for EADs which are approved about five months later. The Aeronautical Engineer, who has had some difficulty in locating a job in his field with a U.S. employer willing to sponsor him for an H-1B, finds a job and is able to begin work immediately on the EAD without waiting for approval of an application to change status to H-1B from H-4.

About eight months after the I-485 Applications to Adjust Status are filed for the Software Engineer and her husband, a financial scandal suddenly envelops the software company. This results in massive layoffs. The Software Engineer's division is eliminated and she is terminated. The employer offers the Software Engineer a one-way plane ticket back to her home country, as required under the terms of the H-1B visa. The Software Engineer declines the offer.

Because the I-485 Adjustment applications are pending, the Software Engineer and her husband are not immediately considered out of status. Moreover, the permanent residence case is not necessarily dead if the Software Engineer can locate a new position which has similar parameters to her former position (similar job description, similar working conditions including wage, etc.).

This is true because the I-485 Adjustment case has been pending for more than 180 days at this point. She locates such a position and her I-485 Adjustment case and that of her husband are approved several months later, allowing the Software Engineer and her spouse to remain in the US as permanent residents.



Contact us here to arrange a consultation, to inquire about retaining us to handle your immigration matter, or simply to suggest topics you would like to see covered on our site.

The above is presented for informational purposes only, and does not constitute legal advice or create an attorney-client relationship with our firm. The information provided should not be used as guidance in pursuing an immigration matter absent consultation with a qualified immigration attorney.