Hello, everyone. My family moved from Europe a few years ago, and I will soon be graduating from college with a programming degree. Having not held an actual programming job in this country, I am wondering what the attitudes toward foreign programmers are in the American workplace. This is a pretty open question. I would love to hear about your experiences working with foreign programmers or your experiences as a foreign programmer in the U.S. or maybe even somewhere else. Some questions that come to my mind which may serve as examples are:

  • Am I going to have a much harder time finding a programming job in the U.S. than native Americans?
  • Are foreign programmers generally frowned upon by colleagues?
  • How do less-than-perfect communication skills impact a career?
  • Will I have to deal with disrespect on a regular basis?

The biggest issue I've encountered wasn't the skill level but communication. Language barrier can be huge, sometimes insurmountable.

If you are fluent in English then you shouldn't have any problems. If you are not, that's the area I'd focus on.


Since I was an internationalization guy for most of my career, most of the teams I have worked with consisted of a large number of immigrant and visa-holding developers, program managers and testers. Speaking only for myself, with some consciousness of the attitudes of people around me:

  • What you can do matters more than where you are from. This is true even in the small number of cases where you meet someone actively hostile to the H1B program or who has apparently negative attitudes toward immigrant programmers.
  • Communication skills can be an issue, but people who are concerned about their communication skills are often better at communicating than native English-speaking engineers who think that they know English. Engineers are often terrible communicators, and often don't realize that communication gaps are their fault. Native speakers are often worse in this regard.
  • Negative opinions about outsourced projects are far more pervasive than negative opinions about foreign engineers. (I've had good and bad experiences, and led some outsourcing efforts, so my feelings about outsourcing are mixed).
  • I personally have negative opinions about a few specific vendor companies that provide contract labor and outsourcing services, and have refused to be considered for employment by some of those vendors because of my experiences with them. That being said, given a project involving those vendors, I assume the best about workers from those companies until circumstances demonstrate otherwise.

I just want to address one point:

Am I going to have a much harder time finding a programming job in the U.S. than native Americans?

In the United States, basing employment decisions (including hiring, promotions, firing, and layoffs) on national origin is illegal. It can be difficult to prove, but you should know your rights before you begin your job search.


I am a "foreign programmer" too. US is my third "foreign" location. In general, in the US nobody cares about where you are from. We cannot take the same for granted around the globe. US is the most welcoming society to the foreigners. Unfortunately, 9/11 has changed it a bit, not just for the immigrants but everyone.

Most important thing is to know your stuff, know your limitations, be exemplary in work ethic, and integrity. Be aware of the stereotypes and steer clear of them. You have studied here, so you would almost have no problems. On the other hand, if you fall into a bad place, just move on. Immigrants create a sizable portion of the start-ups. Perhaps the limitations at the job drive them towards the entrepreneurship. That is how you can make some good out of the bad situation.


In general, I'd say in any country, programming has two parts - how well you can write code, and how well you can fit into the team. The first is fairly absolute -- you can write code whether you are native to the country or not, and whether you speak great English or not. The second is incredibly subjective and team dependant, and even more dependant on the particular industry you want to work in.

Specifically answering the questions:

Am I going to have a much harder time finding a programming job in the U.S. than native Americans?

Depends on a lot of factors. If you were aiming for a job in defense contracting, you will have very little success if you don't have a US citizenship. In most other industries, a valid work visa is all that is required.

Then it depends on the team, and also their interview/hiring policies. If the team or company is smart, they are likely to be looking for someone who can communicate effectively using the company's preferred communication channels. Every company will have a different criteria, it's part of the personality of the company.

Are foreign programmers generally frowned upon by colleagues?

Not that I have seen. I work mostly in big companies.

I'll say that sometimes certain nationalities get stereotyped within a given corporate culture. But it varies from corporation to corporation, and I've always seen individuals be able to break through the stereotype.

How do less-than-perfect communication skills impact a career?

I've never seen a situation where a geek (ie, a programmer) was expected to have "perfect" communication skills. In fact, if your communication skills were too slick, you'd be in danger for being mistaken for sales and marketing. :)

I think geek culture permits a certain level of quirkiness including charming foreign accents and strange twists of grammer.

The one deal breaker would be an unwillingness to improve. Everyone (native or foriegn) has something they could do better in the communication department. Being willing to find and improve communication barriers is vital to moving forward in any career - technical or otherwise.

Will I have to deal with disrespect on a regular basis?

If you do, you are in a company that I would consider to be "broken". IF they hired you, they should be willing to give you a chance. If they aren't willing to give any employee a fair shot, then the company is broken and you should move on.

My big advice working in the US as a foreigner is to be aware of seemingly insignificant social norms that might be different between countries. Sometimes the very little things are what will get under people's skin and yet they won't talk about it. It may not necessarily be language - for example, time and lateness will tick some people off and different English speaking countries have a different threshold for lateness. In my company, 10 minutes late is "late", and at 15 minutes the other party has probably moved on to doing something else. For my Indian friends, 30 minutes is "late".


I've worked for any number of companies, and had Norwegian, Israeli, Russian, Chinese, Indian, Korean, and any number of other foreign nationalities working with me. In at least one company the number of foreign nationals in development exceeded the number of American citizens. So two things to really take from this:

  1. It really is what you know and not necessarily who you know, or how well you speak the language
  2. If you're not going into a place with a significant population that is the same nationality as you, you might be in trouble. It might be tough getting a job in a predominantly Russian group if you're Swahili, for example, and your english is bad, because there's no one else to help transition you through communication issues.

    We would have some people with hideous Russian accents (hideous in thick, fast talkers, etc.) who had a bare understanding of the English language, but I had fallback people I could use as translators in a pinch. If you don't have that and you don't speak/write the language well, it might be more difficult for you.


Specifically in answer to

  • Will I have to deal with disrespect on a regular basis?

I have worked in a fair number of shops here ( all in NYC) and have never seen this be an issue for anyone based on personality, race, ethnicity or nationality. I've occasionally seen it based on pure incompetence.

One of the good things about this field is that it usually approaches (at least in the best places to work) a meritocracy. If it's not, or if you find yourself being disrespected or looked down on because of who you, then the place is socially/personally dysfunctional and you probably don't want to be working there anyway.

As others have mentioned here, there are laws that protect you from discrimination or abuse at the workplace. Most employers take these issues very seriously, if for no other reason than fear of lawsuit.


I've worked with many people of foreign origin -- mostly Indians and Chinese -- and I have never seen any sign that anyone was hostile to them. I did have one time on another programming-related forum that I made a reference to my company hiring a Chinese person and someone made a nasty reply about "this is why America is in so much trouble letting all these foreigners come here and take away American jobs" etc. I don't know how typical that attitude is. That's the only time I can think of that I've heard something like that from a computer person. It's possible that more people feel that way but don't say it out loud, but frankly I doubt it.

As has been pointed out, the biggest issue is probably learning the language and minimizing any accent. I often find it frustrating working with foreign-born people whose English is poor or heavily accented making communication difficult, especially over the telephone. (I am reminded of a Chinese woman I worked with whose English was not very good. I once asked her if she had trouble engaging in casual conversations. She replied that yes, she often did, but if everyone else laughed, she figured someone must have told a joke so she laughed too. And that got her through most conversations.)

My biggest advice would be: If you have trouble understanding someone and it's important, don't try to bluff and figure it out later. Politely ask them to repeat themselves or write down the word you don't understand. I think most people will be understanding as you learn to communicate, and better to take the time to understand than to go off and do something wrong.


Where I work:

  • No.
  • No.
  • A fair amount.
  • No.

If you know what you're doing, get things done, and can express yourself well, you will do fine. If not, you won't. That goes for everyone, regardless of where they are from.


Biggest challenge would be to get working visa, if it is relevant for you. Being on H1B myself, my personal experience has been that it does not matter. You need to speak slow as however good you are in English, accent and style always confuses. Many native speakers can adapt easily and some can not, which depends on their personal experiences.

Current labor market may prove challenging in getting working visa, but apart from that it is all about you.


I worked as a web developer in two different US companies and I am also from Europe. I recently got back after almost two years working/studying in New York and Florida.

To answer your questions...

* Am I going to have a much harder time finding a programming job in the U.S. than native Americans?

Yes, because of the visa process. A lot of companies don't have the time or ressources to deal with all the nonsense of a long and annoying process of getting a visa for their employees, so they just don't hire foreigners. I had a lot of companies turning me down because I needed them to get a visa...

If you already have a visa like a greencard you should be ok.

* Are foreign programmers generally frowned upon by colleagues?

Not at all. If you do a good job and prove that you deserve your position, there is no reason that you will be frowned upon. Of course if you do a crappy job...

* How do less-than-perfect communication skills impact a career?

On my first few months in the US my english wasn't good. The impact was that I didn't get to meet with clients at all and that my manager had to be extra patient. After a while I got better and got to go to meetings. My english was not perfect at the time, but it was good enought to understand and be understood.

Of course, as a programmer you don't NEED to have a perfect english. You just need to be able to communicate well enought to get the specs and do do mistakes. If you were a salesman, this would be a different story.

* Will I have to deal with disrespect on a regular basis?

I doubt it. I had my share of "french jokes" and people made fun of my accent, but this is always playful and nothing serious. Of course I encountered some people more xenophobic, but you'll find people like that everywhere. They are not a majority.

Hope that helps!


My experience as a foreigner working in Germany shows that the foreigners not coming from "old" EU countries are mostly unwelcome and generally perceived as a cheap work force. They hardly get any good-paid jobs and consequent promotion.

Even though I have graduated from two universities in two different countries, have some good experience and fluently speak 4 languages, I find it hard to impossible to make it even to the doorstep of any company.

Europe seems to be a very conservative and a closed village who merits your origin and connections above your skills and aptitude. In part explains why they are falling so far behind and often considered as primarily a touristic destination rather than a good place to work.

Hope it's not like that in US.

P.S. @ForeignProgrammer: Thanks for asking this question. Don't share the attitude of others trying to keep the issue silent. Where's that "freedom of speech" thing actively promoted by hypocritical West?