Wages of the “Intels”

Recently I was quite critical of an article in the San Francisco Chronicle comparing the “Intels” (firms that hire H-1Bs directly) and “Infosyses” (firms that hire H-1Bs and “rent” them to other employers) regarding wages paid to their H-1B workers. Putting aside the ethical problems of the article, let’s look at the article’s main theme, which was that the Intels don’t underpay their H-1Bs, while the Infosyses do.

The Chronicle analyzed prevailing wage values in Labor Condition Applications (employer requests to hire H-1Bs). In my comments on the article, I noted that the prevailing wage, as legally defined, is actually well below the market wage that the given worker would command based on her qualifications, so paying above the prevailing wage does not imply that the employer is paying at market rates. The Intels do indeed underpay their H-1Bs, and I referred interested readers to my Migration Letters paper for detailed analyses.

In this post, I will make that point much more simply. A number of critics of the H-1B program base their analyses on the four experience levels the law sets for prevailing wage. Keep in mind that the law defines Level III as the overall average wage for a given occupation and region

The critics note that the Infosyses tend to hire at Levels I and II, i.e. below average. Since those same critics don’t mention the Intels, you would conclude that those firms are using H-1B responsibly, right? But that conclusion would be wrong. In this post, I will show that the Intels are also paying mostly at Levels I and II, i.e. below-average rates.

I am using the 2016 PERM data, which is for employer-sponsored green cards. This data is more reliable, because each record corresponds to an actual worker, while the LCAs are simply applications to hire a worker, unspecified, at some future date. However, if you prefer, you can download the LCA data and do a similar analysis. I restricted my analysis to software developers.

I found that 66% of Intel’s green card sponsorees were being paid at Levels I and II, i.e. below average for the given occupation and region. For Google, the figure was 96%. In the case of Facebook, it was 91%. I will include my code at the bottom of this post, so you can try some other firms if you are interested. But even with these few data points, you can see that the Intels are actually similar to the Infosyses in terms of paying below-average salaries.

Mind you, the Intels do pay more than the Infosyses. The Intels tend to hire people with U.S. Master’s degrees while the Infosyses hire workers with Indian Bachelor’s degrees. This in fact is why there are so many at Level II for the Intels. But Level II is still below average.

The H-1B issue is complex, as you can see. Indeed, some of you may be asking at this point, “Isn’t prevailing wage defined as the average salary?” The answer is that it is defined as the average salary for the given occupation, region and experience level, as opposed to just the average salary for the given occupation and region. In other words:

We are back to my favorite theme in the H-1B debate: Age. Younger workers are cheaper, and employers hire young H-1Bs in lieu of older (35+) Americans. The four-tier experience system in the legal definition of prevailing wage amounts to government-sponsored age discrimination, which is the core problem with H-1B.

In fact, the four-tier system was enacted in 2004 at the behest of the tech industry. It replaced the old two-tier system, with the new Level I (out of four) of course being lower than the old Level I (out of two). Keep that in mind whenever you hear an industry spokesperson or a politician say that H-1B wasn’t intended for cheap labor. Obviously that indeed was and is the intent.

Below is the promised code, in R. The PERM data comes in a .xlsx file, which I converted to .csv using xlsx2csv, a Python utility available on the Web. (I don’t have a Windows machine, thus no Excel etc., and the R Excel-reading packages failed on this data.) You’ll need the record layout and the SOC occupation codes. You can do analyses of the wage levels as I did above, or analyze degree levels, academic majors, nationality and so on. Enjoy!

p16 <- read.csv('perm2016.csv',header=TRUE)
pr <- p16[,25]
p16prog <- p16[pr=='15-1131' | pr=='15-1132' | pr=='15-1133',]
intel <- p16prog[p16prog[,9] == 'INTEL CORPORATION',]

30 thoughts on “Wages of the “Intels”

  1. I was very glad that you posted that. I had noticed last year that the LEVEL information was removed from the LCA files. At https://www.foreignlaborcert.doleta.gov/performancedata.cfm , you’ll notice that it’s in H1B_Record_Layout_FY15.docx but not in H1B_Record_Layout_FY16.pdf. As you point out, however, the LEVEL information is still in the PERM files. Seeing how simple your code was, I just had to try it! Following are results for several companies:

    Level I Level II Level III Level IV
    139 4 357 91 81 “INTEL CORP”
    144 23 201 28 117 “APPLE INC.”
    2 125 398 17 39 “FACEBOOK”
    316 287 746 37 11 “GOOGLE”
    255 137 134 31 6 “INFOSYS”

    Apple looks to be the best but all of the companies have the most employees at Level II. By the way, I did notice that I could match the records a little easier with a statement like “intel <- p16prog[substring(p16prog[,9],1, 10) == 'INTEL CORP',]". I'm sure there must be a simple way to pattern check the entire string but that will at least find a pattern at the beginning of the company name.


    • You have 5 numbers for each company but there are only 4 levels. What is going on here?

      You are looking at all occupations. I deliberately avoided that, sticking to software developers, because I don’t know the dynamics of jobs like Marketing Director; maybe a foreign hire is justified there, maybe not. Since software development is about 40% of the PERM data and I know very well that those hires are unwarranted, I stuck to that category.

      By the way, some companies, notably Apple, did not use the Levels I-IV system, turning instead to their privately commissioned survey. The Dept. of Labor gives the employer safe harbor if they use the OES data (Levels I-IV) but trusted employers (and trusted surveyors, Radford in the case of Apple) are accepted. Needless to say, though, if an employer uses a private survey, it is because the private survey gives lower figures.

      I usually avoid string-matching on such data, as sometimes one picks up wrong companies this way.


      • I’m running your code as a script except that I had to change the last line to “print(table(intel[,27]))” in order to print out the result in a script. The only other difference I can think of is that I created perm2016.csv by downloading PERM_FY2016.xlsx from https://www.foreignlaborcert.doleta.gov/performancedata.cfm and then saving it as a csv file. I have to go somewhere but will check it when I get back. Once again, following is my code:

        p16 <- read.csv('perm2016.csv',header=TRUE)
        pr <- p16[,25]
        p16prog <- p16[pr=='15-1131' | pr=='15-1132' | pr=='15-1133',]
        intel <- p16prog[p16prog[,9] == 'INTEL CORPORATION',]

        And following is my output:

        Level I Level II Level III Level IV
        139 4 357 91 81

        The first of the five numbers has no column heading for some reason.


        • As I wrote in the updated version of my post, I do not own any Windows machine. (Gasp!) I have nothing against Microsoft, just don’t find their software to be so useful for what I do. So I don’t have Excel. I do have the open source LibreOffice, but it failed on this data, as did several R packages for converting xlsx. There is a good reason that the author of xlsx2csv wrote that program.

          R prints automatically only in interactive mode.


          • “I do not own any Windows machine.”

            Same here. Enjoyed reading your Linux how-to a few months ago. I use SageMath.

            Got started with Linux over 16 years ago when I started using a Linux live-cd to do my on-line banking and to buy stuff on-line. I now used a Linux distro named “TENS” for on-line banking. It is produced by the DOD. It runs off the CD-ROM or flash drive. It does not allow access to the computer’s hard drive. It is “designed to serve as a secure end node”.


      • > You have 5 numbers for each company but there are only 4 levels. What is going on here?

        Looking at the data, I figured it out. The first column is the count of items that have no Level specified. Hence, the header for that column is blank. More interestingly, I was able to rework my Shiny R program for reading LCA files to read the PERM file. You can access it at https://econdata.shinyapps.io/perm16/ . It’s very useful for exploring the PERM data. For example, I noticed that your program is including all values of CASE_STATUS, including “Certified-Expired”. In case that’s not intended, I have that field default to “Certified$” in the search.

        In order to get the numbers for Intel, I left CASE_STATUS equal to “Certified$” where $ signifies the end of the line so as not to match “Certified-Expired”. I then set EMPLOYER_NAME to “INTEL CORP” and PW_SOC_TITLE to “software”. This gives that following level counts and percentages:

        (empty) “Level I” “Level II” “Level III” “Level IV”
        88 2 221 52 47
        21.5 0.5 53.9 12.7 11.5

        In order to include the exact same categories that you did, you can change PW_SOC_TITLE to PW_SOC_CODE and set the matching field to “15-113[1-3]”. It seems that the function that I used to do the matching automatically allows these regex-type patterns. As a result, this gives the exact same result as above.

        When it first comes up, the program displays all rows with CASE_STATUS of “Certified” sorted in descending order by WAGE_PW. This field is equal to the wage offered (WAGE_OFFER_FROM_9089) divided by the prevailing wage (PW_AMOUNT_9089). As you can see, the top value for WAGE_PW is 100 for a Medical and Health Services Manager who is supposedly being paid over $9.5 million dollars per year! Of course, it’s likely that there were just two extra zeros added to the wage in the application and the application was certified since it was at or above the prevailing wage. It is possible that some of the workers whose WAGE_PW value is just below 10 have an extra zero added to the wage and are actually being paid BELOW the prevailing wage. In this case, the application may be getting certified simply because the extra zero makes it look like the wage paid is more than the prevailing wage. This indicates that the data being submitted may have just as may errors as I saw in the LCA data. In addition, it indicates that much of the certification may be getting done by blindly applying filters and certifying everything that passes them.


  2. Norm, thank you for your years of support on this issue.

    FYI, you may know this already, but I’ll post it for others.

    As a former trainer of TATA India employees at Siemens ICN Lake Mary, FL we learned that our replacements were not H-1bs but they were L-1b ‘intra-company transfer’ visa holders. I located TATA’s staffing document on a shared drive. Just about all of the employees visa were listed as L-1bs.

    In 2003, WKMG CBS Orlando,FL did an excellent piece on L-1bs. At about the 9:20 mark of this video they describe “ACME Consulting” and L-1bs. Watch it here: https://youtu.be/LJlesZ9popA?t=559

    What is more interesting is what I learned from a long-time co-worker; an H-1b visa holder. He asked one of the “TATA’s” what they were being paid.

    His reply: $3000/month but $2000 of that was paid as non-taxable expenses. So his ‘high-tech’ STEM job paid only $12,000/year.

    Kind of hard to compete with those wages; especially when my medical insurance was $953/month.

    1. There are NO salary rules regarding L-1b ‘intra-company transfer’ visas.
    2. There are NO quantity limits on L-1b visas either.

    Lucky for me, I landed work elsewhere and left mid-training. Not so for most of my ex-coworkers.


    • >> There are NO quantity limits on L-1b visas either

      My fear is that the so-called experts in this domain too carrying the “H-1B is very bad” banner, whatever fix(es) would happen, would be made to H-1B only and everyone claims victory.

      Given that data is very important for any economist or statistician, everyone is focusing on H-1B data and slicing/dicing it to ends of universe (all very good), but almost none is available on L-1 which is what is keeping these ‘experts’ away from that visa – If someone Our law is laying out a red carpet to employers to send folks on L-1A through EB-1C and claim “we are recruiting LPRs and Citizens”. Now, that’s very smart of them!

      …And all the while the experts fight for just plugging the H-1B visa.

      And by the way, the next freight train coming our way is O-1:
      a) No annual caps
      b) Supposedly “strict” criteria to be met; It’s a matter of time until someone from the cartel figures out a way like L-1A/EB-1C (Esp. given that all of the current experts and Americans that lost their jobs are *still* rooting for O-1 saying that’s what we should be having instead of H-1B); And then we get another gazillion Indians over here through the new indentured “O-1” visa – Cartel says “I likey”


      • Interesting point about O-1. It’s been pretty strict so far, but given the current “Intels Good, Infosyses Bad” climate, I can easily see USCIS relaxing the requirements a lot.


        • I believe the difference is that the O-1 is self sponsored, so the indentured servant angle is not there. That, I believe is the biggest draw to using these other visas. Owning a worker’s ability to stay in the U.S. legally is priceless. Take that away and the worker is not any more attractive than a U.S. worker.

          Liked by 1 person

          • >> so the indentured servant angle is not there

            am pretty sure you are aware of the greencards and related tethering/indenture. again, all this discussion (here and everywhere else) is mostly about India born individuals (and China/Philippine nurses to some extent). Take that out of equation, the system as it is today is flawless (for most part).

            >> Owning a worker’s ability to stay in the U.S. legally is priceless. Take that away and the worker is not any more attractive than a U.S. worker

            Keeping the greencard cap subject aside for a moment, the previous administration did propose a rule to provide “mobility” to the Indians stuck in the greencard queue. Chamber of Commerce swooping in and hijacking at the very last moment is a different story [There is video proof on why Administration does not want mobility to indentured folks as the “employers do not like it”] .

            Too, “Sold Out” author termed the rule thus [http://www.breitbart.com/big-hollywood/2015/12/30/obamas-agency-reveals-plan-give-work-permits-myriad-foreign-college-graduates/]:

            “What is going on is he is effectively giving Green Cards to people on H-1B visas who are unable to get Green Cards due to the [annual] quotas… it could be over 100,000.”

            Translated, the “Sold Out” author did not

            a) Read the rule (or)
            b) Did not comprehend it (or)
            c) Does not want indentured folks to be “free agents” in market (without green card)
            d) ..

            Nor did the reporter of that article. I have great respect for both though!

            At the time, I even commented on this very blog that if it was that bad (affecting the American worker, negatively, that is), we should see a lawsuit in no time. To this day, there is not a word on it *anywhere* (including on the website that posted the article I referred to above). *That* speaks volumes.

            To summarize, there is a very good reason why indentured servants/labor from India is preferred and will continue to do so. It’s not an accident that the cartel “forgot” about it back in the day while creating the system we have today.


          • Who do you think would file such a lawsuit? As many here have pointed out, the affected U.S. workers are not organized, and those who claim to/believe they are promoting the workers’ interests do have other incentives.


          • >> Who do you think would file such a lawsuit?

            Whoever filed the OPT, H4 EAD lawsuits .. IRLI? SaveJobs? ProtectUSWorkers? Whatever was the incentive to file these lawsuits would be application for this one too.

            But my point was no such lawsuit was filed till date because that rule actually does nothing (borrowing the title of your blogposts on the subject, “less than what meets the eye”). In other words, it’s all about instigating the readers/American workers who believe these groups blindly by saying “greencards go out faster” etc and by spreading FUD all over. It could also be an all show-and-tell, dog-and-pony show to prove that these “groups” are relevant in this area.

            >> and those who claim to/believe they are promoting the workers’ interests do have other incentives

            Amen — When will the (high skilled) American worker realize this (sigh!)


        • >> I can easily see USCIS relaxing the requirements a lot.

          It *is* coming given that most of us are blessing it by giving “5 star” ratings.

          Case in point – Who’d have thought few years ago that L-1A could be used as a “staple greencard” now and we are giving taste of our own medicine (“we employ only LPRs and Citizens”).

          *Nobody* is even noticing that more EB-1C greencards (the “Infosyses”) are going to India born individuals in the last few years (2012 onwards, maybe?) … I’d not be surprised if they totally get away from H-1 lane and switch directly to L-1A lane.. And we can give all the credit to.. you know who.. for “fixing” the H-1 system….Cartel should get more credit than it deserves.

          Liked by 1 person

  3. Hello Norm,

    I have seen this age discrimination across all industries. In addition to wages, any HR person with a spreadsheet is trying to reduce “spread” healthcare costs across their employee pool. That said, based on
    a 2010-2011 CRA Taulbee survey, international students make up roughly 25% of the available young pool available for the Intels to recruit.
    If you succeed in the cause, but how can you be sure the age discrimination issue will be resolved? Intels will still have a large pool of young graduates; they can and will go after the other 75%.


    • Yes, there is age discrimination everywhere, but in tech the industry lobbyists make the claim that because the field moves so fast, only the new graduates have the latest skills. That claim is easily refuted, but the unfortunately advocates on our side (a) don’t understand this and (b) for whatever reason don’t want to bring up the age issue.

      If the legal wage floor is set high enough, that would solve most of the age/new grads problem.


      • I read a post on another web site dealing with the H1Bs and medical insurance costs. It seems that once they reach their late 20’s they too become expensive to insure. The companies want to hire them young enough that they are cheap to insure through their visa and extension and then ship them back. They too suffer from age discrimination at 29.


        • This is a very good point.

          Look at the extension of OPT (Optional Practical Training, under which foreign students can work in the U.S. after they graduate) to 36 months (GW Bush extended from 12 to 29, Obama then to 36). For many employers and many jobs, the employer doesn’t want to have the worker for longer than 36 months anyway. As you said, they become more expensive in health costs, especially if they marry and start a family, and they are getting at least some raises in salary.


      • Not if what I read is right: OPT is good for 3 years, but STEM OPT is renewable for another 3 years, and last I read there is no min wage for an OPT. And I know of no cap on this visa.


      • “latest skills” argument is defective: how is it US STEM grads from the US same college/curriculum as foreign STEM grads do not have those same “latest skills”?


          • Local university, UMass, sent 6 for interview, same university/same curriculum, 5 citizens, 1 F1. Zero feedback collected from us, the staff interviewing, default offer to the F1. I don’t know where you’re seeing “good”.


          • Those citizens will get jobs somewhere; 15 years from now, they will not.

            Are you sure the one hired actually is F-1, not a citizen or permanent resident? If F-1, the incident you describe is certainly outrageous.

            Some years ago a small Silicon Valley called me for a reference on a foreign student of mine. I was quite surprised that they had contacted me, because (a) the student had not asked me if I would serve as a reference and (b) he got a D in my class! I conveyed this information to the HR person who called me, and I said I had two very good students that I could recommend. N, they wanted the foreign student. When I asked why, HR told me, “The boss figures that if this student has the gumption to travel all the way from China to study in the U.S., he must be a good worker.”


  4. Why doesn’t someone file a lawsuit?

    Would this qualify as a class action lawsuit?

    Why don’t American programmers start their own union?

    Having heard ongoing conversations by some civil servants working to protect workers, I am not hopeful. Bogged down by paper pushing, technocrats, software, and achieving superficial results that do nothing for the larger cause. Cumbersome websites and procedures, problem employees, politics.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s