Getting an E-3 and E-3D visa to the United States

June 21, 2008 at 7:51 pm | In Aussie in USA, Visas | 3 Comments

Looking for TFS content? I’ve moved them to my work blog. Subscribe to the new feed: RSS http://blogs.msdn.com/granth/atom.xml

This is the first post in a series of my experience in relocating to America. Standard disclaimers apply - your situation is probably different, this is for informational purposes only, seek professional advice.

To work in the USA as a foreign citizen you more than likely need a visa. Also, if you’re travelling from Australia to Canada via a US airport - you still need a visa. There’s no notion of being “in-transit”.

For Australian citizens there’s three common visa options (among others):

  1. Visa waiver program
  2. H1-B visa
  3. E-3 visa

Visa Waiver Program

The Visa Waiver Program (VWP) enables nationals of certain countries, including Australia, New Zealand, and the U.K., to travel to the United States for transit only, tourism or business for stays of 90 days or less without obtaining a visa, if certain requirements are met.

I-94 Nonimmigrant Arrival/Departure Record Form

If you’re visiting the States and attending a conference, backpacking, etc - this is probably the (non)visa that you will go across on. How do you get one? In the first couple of hours of your flight from Australia the flight attendants will walk around the plane handing out these green or white I-94 Nonimmigrant Arrival/Departure Record forms. Ask for the green one - it’s the visa waiver form. Fill it out and present it to the US Customs & Border Security officer at your destination.

You cannot extend the time on the Visa Waiver Program. The 90 days also includes any time spent in Canada, Mexico and adjacent Islands. Therefore you cannot cross the border into these areas and then return for another 90 days. You can however ask for re-entry on the Visa Waiver Program if you have left the Continent.

Important: From August 1, 2008 you will be able to voluntarily apply online for the VWP before your travel. It’s anticipated that this online pre-application will be mandatory from January 12, 2009. See the ETSA website for more details.

H1-B Visa

The H-1B is a non-immigrant visa in the United States. It allows U.S. employers to employ foreign guest workers skilled in specialty occupations - regardless of whether qualified U.S. citizens or residents are available to fill these jobs. The foreign worker must possess at least a bachelor’s degree or its equivalent. H-1B work-authorization is strictly limited to employment by the sponsoring employer - except that many H-1B work for bodyshops who then place them with third party employers.

This is the “catch-all” working visa and there is a fixed number of them available each financial year. Currently that’s 65,000 and the quota was filled in April 2008 for FY 2009. So if you’re looking to get one of these visas, the earliest you can hope for is to start July 1, 2010. But even then, it’s a very tight game & a lottery (~50% chance in FY 2008):

For FY 2008, the entire quota was exhausted before the end of the first day on which applications were accepted, April 2. Under USCIS rules, the 123,480 petitions received were subject to the cap were pooled, and then 65,000 of these were selected at random for further processing.

Spouses cannot work under this visa. H-1B’s spouse who generally come on H-4 (dependent visa) cannot work in the United States. Some of them wait in queue for years to get their own H-1Bs.

You can apply for permanent residency (a green card) while working on an H-1B visa.

E-3 and E-3D (dependent) Visa for Australians

The E-3 visa is a United States visa for which only citizens of Australia are eligible. It was created by an Act of the United States Congress as a result of the Australia-United States Free Trade Agreement (AUSFTA) in 2005.

This is great news for Australians looking to work in the US. All that is required is a job offer - so that means you have to get the job before you go over. It doesn’t require a employer to submit a petition. However, they must obtain a Labor Condition Application (LCA) from the Department of Labor. This is essentially a form that says that they’re not employing you as cheap labor and you’ll get paid what an equivalent citizen would. It can be submitted online and mine took 1-2 weeks to process.

  • The visa isn’t subject to the H1-B quota, there is a separate quota of 10,000 each fiscal year (which has not been reached yet)
  • The visa is valid for a maximum of 2 years with unlimited renewals (unlike the H1-B visa)
  • You can change employers. A new LCA is required and the gap must be less than 10 days between jobs.
  • You can’t apply for permanent residency (a green card). It is a non-immigrant visa.

Spouses can work under this visa! But they must apply for an Employment Authorization Document (Form I-765) through U.S. Citizenship and Immigration Service (USCIS). This process takes 3-4 months for filing and to issue the EAD card. It is not limited to a speciality occupation either - it could be any position.

Applying for an E-3 visa

It’s best to refer to the official documentation (FAQ & How to Apply), but I’ll give you an overview.

  1. Get a job offer from your future employer
  2. They will need to submit an LCA
  3. Once the LCA is approved and you have a copy of it:
  4. Fill out an application & book an interview at a US Consulate
  5. Attend the interview and leave your passport with them
  6. Your passport gets returned in the mail

Booking an interview

This is where the fun begins. Even though there is a US Embassy in Canberra and all the documentation is on a website called canberra.usembassy.gov - you can’t do a non-immigrant visa interview in Canberra. You must go to a consulate in Sydney, Melbourne, Perth or another overseas post.

You can check what the wait times are for each of the consulates. When I applied, the wait time was 10 days for a Sydney appointment and 2 days for a Melbourne appointment. Sydney is currently 7 and Melbourne 17.

The visa appointment booking website is an outsourced government system. It’s called VisaPoint (FAQ). To book an appointment you need to purchase a USD$14 PIN to gain access to the website (cost recovery).

Once you start the process the first question is “which city are you from?” which really means “which consulate do you want to interview at?”, because it really doesn’t matter which consulate you go to.

The next question is “Do you have an approved LCA?”. If you answer “No”, your application ends and you’re booted out.

Then it goes through and asks you for passport numbers, previous US entry/exit dates, etc. Eventually at the end you get to see the available interview appointments for the consulate you picked at step 1.

Note: From what I could tell, all the interview slots in Sydney and Melbourne were between 7.00 AM and 10.00 AM with the later ones filling up first. Which means that you may have to make an overnight stay to get there in time. I flew out on the 6AM flight from Canberra and just made the 9.30 one after being delayed by fog. It would’ve been impossible for me to get fly in for a Melbourne interview without staying overnight. You can only book an interview up to ~30 days in advance.

At the interview

After arriving at the consulate and passing through security screening (x-ray + metal detector - much like an airport), you take your seat in the queue to get checked by the first consulate official. Their job seems to be to make sure have brought all the appropriate papers with you. In the case of Sydney, you then go upstairs to the actual consulate and through another metal detector.

Once inside the consulate, grab a ticket from the ticket machine and wait for your number to get called. The first person will take all your documents off you and ask you to sit down. Then a few moments later another counter calls you up - they take your fingerprints, photo and ask you a few questions and ask you to sit down again. Then a few minutes later the third counter calls you up. They verify your employer, degree and ask you the “are you a criminal?” questions again. Then in my case they said “Ok, that’s approved, it’ll be in the post tomorrow - Thanks!”.

This is where I was left wondering… “What about all this original documentation you asked me to bring along?” Academic transcripts, certificates, etc. “No, it’s fine - it’s all been approved”. So I think that the whole process is pre-approved online and the interview is merely a formality.

In my case I left them with a pre-paid Express Post Platinum satchel and my passport arrived back in Canberra at 11AM the following day. Pretty quick!

Australia Post Express Post Platinum satchel

The visa sticker

Now that you have your passport back in your possession with your visa sticker, you can go ahead and book flights. This is what the visa sticker looks like.

US Visa Sticker

At the US Border

Just like if you were to enter on the Visa Waiver Program, you’re still required to fill out and present an I-94 Nonimmigrant Arrival/Departure Record forms. When the flight attendants hand them out on the plane - ask for a white one.

White I-94 Nonimmigrant Arrival/Departure Record forms

When you get to the US Customs & Border Protection (CBP) officer you’ll need to show three things:

  1. Passport (with visa sticker attached)
  2. I-94 Card
  3. Your Labor Condition Application (LCA) documentation

They’ll hopefully check that everything matches up, attach the bottom of the I-94 to a page in your passport & stamp it. This card is very important! Your employer will need a photocopy of it on your first day of work to submit with a Form I-9. Before leaving - make sure that the expiration date on the white card matches the expiry on your visa. Otherwise you could be in a situation where your visa is valid, but you’re expected to have left the country.

Then you & your employer are required for fill out a Form I-9 and submit before close of business on your first day of work.

Congratulations! You’ve made it!

Applying for an E-3D (Spousal) visa

This can be very confusing if they are not attending the same interview as the principal applicant. Here’s what I’ve learnt:

  • The official embassy FAQ says that E-3D applicants don’t need to be present at the E-3 applicant’s interview.
  • The VisaPoint website gives you a stern red warning: “All dependent applicants must be present at the primary applicant’s interview.” Who do you believe?
  • Although the VisaPoint FAQ says “you may schedule an appointment for yourself and up to four immediate family members who reside in the same household using the same PIN” - it’s only for one appointment total.
  • If the E-3D applicant can’t attend the same interview as the E-3 applicant, you have to purchase a second PIN and make a separate appointment.
  • When you make the second appointment, the system doesn’t cater for E-3D applicants. So you must answer “Yes” to the “Do you have an LCA?” question to continue. Then on the main application page it asks you to select visa type - you should to select E-3 here. EPIC FAIL.
  • If you need help or have questions, you can call the (also outsourced) consulate help line on a 1900 number at $2.75/minute or $11 pre-paid fixed price who read you the information off the website. EPIC FAIL.

My wife is still yet to go through this process, so that’ll be a future blog post to see if it worked or not :)

This blog has split!

June 18, 2008 at 8:48 pm | In Life, Team Foundation Server | 5 Comments

Important: Don’t miss out on future TFS-related posts. Subscribe to the new feed: http://blogs.msdn.com/granth/atom.xml

Today was my second day as a full time blue badge Microsoft employee. After a day and a half of New Employee Orientation (NEO) & kool-aid drinking, we all got smart cards and CorpNet logons. One of the first things I did after inserting the Microsoft e-mail intravenous line was setup a new blog on MSDN.

Woohoo! Got my blue badge

Why three blogs?

http://OzGrant.com/ will be my personal blog. I’ll talk about the visa, relocation & cultural experiences of my time here. This will be one of the ways I’ll stay in touch with friends & family back home in Australia.

http://blogs.msdn.com/granth/ will be my work blog. A purely TFS/Microsoft focused blog.

http://moblog.OzGrant.com/ will be my photo blog. This is where I take photos using my phone and upload them to a blog - it’s a great way to share experiences.

What about all the old content?

Don’t worry, it’s not going anywhere. All the existing content will remain where it is - just new technical content will go up on MSDN so as not to bore friends & family :)

However, feel free to stay subscribed to this blog - some of the future topics I want to cover are:

  • Packing up a house for international relocation
  • Getting a US E-3 Visa for Australians
  • Getting a hire car, driving on the opposite side of the road & other driving hazards
  • Grocery shopping & rewards cards
  • Looking for rental accommodation
  • Skype & SkypeIn for great communication back home

Force Visual Studio to think TFS is offline

June 1, 2008 at 7:14 pm | In Team Foundation Server | 3 Comments

Visual Studio 2008 introduced a feature that detects where the current Team Foundation Server is online or offline when you start the IDE.

In the situation where your server is actually ONLINE, but you want to treat it LIKE it’s offline, you have a couple of options.

Option 1 - Use the ‘tfpt tweakui’ utility

You can edit the server setting and go offline.

  • Close Visual Studio
  • Download and install the latest Team Foundation Power Tools
  • Start a Visual Studio Command Prompt
  • Type: tfpt tweakui
  • Open the server
  • Check the [X] Server is offline checkbox
  • Open Visual Studio

tfpt tweakui dialog

Option 2 - Yank the network cable before starting Visual Studio

Obviously the IDE won’t be able to contact the server, and will inform you that it is now offline.

Option 3 - Set a registry key

Create a *.reg file with the following text in it, and run it before starting Visual Studio.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\Servers\SERVERNAME]

"Offline"=dword:00000001

"AutoReconnect"=dword:00000000

When you want to go back online, you can either go to "File | Source Control | Go Online", or delete this registry key.

TFS Build: Running Integration Unit Tests

May 21, 2008 at 12:54 am | In Team Foundation Server | 1 Comment

If you’re doing a deployment out to a test server as part of your Continuous Integration build process, you may have some unit tests (or web/load tests) to run after the deployment. Since these tests are testing more than just an assembly, they can be considered integration tests.

This can easily be accomplished by modifying your TFSBuild.proj script. Start by overriding the AfterDropBuild or similar MSBuild target and calling the <TestToolsTask> with the correct parameters.

First of all, you’ll need to define the tests that you want to run. The simplest way is to create a Test List called “Integration Tests” that gets saved in your test metadata file (*.vsmdi).

<ItemGroup>

  <IntegrationTestList Include=”$(SolutionRoot)\src\MySolution.vsmdi”>

    <TestList>Integration Tests</TestList>

    <FlavorToBuild>Release</FlavorToBuild>

    <PlatformToBuild>Any CPU</PlatformToBuild>

  </IntegrationTestList>

</ItemGroup>

There are two additional properties that we need to set, they are the Platform and Flavor. The reason for this is that when MSTest.exe tries to publish the integration test results to TFS, it needs to know what platform/flavor build to build against. And since we are doing this in AfterDropBuild, the configuration information isn’t available.

If your application requires additional files, or extra test run settings, you will need to specify them with a Test Run Config file:

<PropertyGroup>

  <RunConfigFile>$(SolutionRoot)\src\MySolution.testrunconfig</RunConfigFile>

</PropertyGroup>

And finally we can override the AfterDropBuild target to run the test list:

<Target Name=”AfterDropBuild”>

  <!– Execute Integration tests against remote server. –>

  <TestToolsTask

    Condition=” ‘$(IsDesktopBuild)’!=’true’ and ‘%(IntegrationTestList.Identity)’!=””

    BuildFlavor=”%(IntegrationTestList.FlavorToBuild)”

    Platform=”%(IntegrationTestList.PlatformToBuild)”

    PublishServer=”$(TeamFoundationServerUrl)”

    PublishBuild=”$(BuildNumber)”

    SearchPathRoot=”$(OutDir)”

    PathToResultsFilesRoot=”$(TestResultsRoot)”

    MetaDataFile=”%(IntegrationTestList.Identity)”

    RunConfigFile=”$(RunConfigFile)”

    TestLists=”%(IntegrationTestList.TestList)”

    TeamProject=”$(TeamProject)”

    TestNames=”$(TestNames)”

    ContinueOnError=”true” />

</Target>

Now when you view the Team Build results, you will have two sets of Test Results published against the single build.

« Previous PageNext Page »

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.