Tuesday, April 26. 2011

Recently I became aware that all H-1B salary data is is publicly available on the Internet. You can get a very detailed Access database of the salary information and there is even a very nifty web application that allows you to quickly search for whatever salary data you are interested in. Now, these figures are probably the best available resource for figuring out how your salary compares to that of your peers. Unlike salary information from sites like Glassdoor, this salary data is not self-reported but directly taken from H-1B visa proceedings making the salary figures much more truthful.

I had already played around with the web application a few weeks ago and uncovered a few interesting pieces of data (mostly related to information security jobs, the field I am working in) which I posted on my Twitter but until today I had not had time to actually do further analysis with the Access database.

The first thing I tried was to search for the highest average salaries in the database. I applied additional filters like only counting job titles for each company that had at least three granted H-1B visas for each listed position (to remove outliers like CEOs on H-1B visas making millions of dollars, for example). I also aggregrated all statistics over the minimum salary specified for each position in the database. Originally I wanted to work with the maximum salary field but apparently this field is optional and not many positions have it listed. Still, I know that at least for my position (I am in the database too) the maximum salary field gives the amount of money I am really making. To make things simpler for me I also only considered salaries given per year and discarded those given per hour.

Here is what the Top 50 highest salaried positions grouped by job title and company are. The top 5 can be discarded because of obviously faulty entries in the database (as much as I would like there to be a company that pays the average software engineer 1.8 million USD a year!). The first legit average seems to be the three Citigroup analysts making an average of roughly $450K.

Apparently all the top jobs are in finance and medicine, so this was not very useful to me. I decided to check out the salaries of positions that are interesting to me. I filtered the whole database by job titles that included the strings 'computer', 'software', or 'engineer' and I further removed faulty database entries by disregarding all salaries over $500K per year.

The result looks still pretty nice, with Brocade Communication Systems leading the pack at more than $150K for the average software engineering manager. The first actual software developer clocks in at (surprisingly) Barnes & Noble which pay their three H-1B visa Senior Software Enginners an average of more than $148K per year.

This gave me a good idea about what different companies are willing to pay for different positions and I decided to do some geographical analysis. At first I tried to figure out what cities in the US have the highest average H-1B salary.

Washington State is definitely doing very well on that list. Not only is Sammamish in the lead in the average salary ranking, Redmond is also in the lead when you sort the table by number of granted visas with 2653 visas. New York (2003), San Jose (1987), Santa Clara (1801), and Houston (1733) complete the top 5.

California leading both the number of visas granted and the average salary per visa should really not be a surprise at all. I am also personally very glad that I am based in Washington State and not Wyoming. On the other hand, I am kinda jealous of the three people who managed to score a visa for work on the US Virgin Islands.

This analysis is obviously only the beginning of what is possible with this dataset. Depending on what you are interested in, you should just get the Access database yourself and start play around with the variables you are most interested in. Let me know if there is anything in particular you find interesting.

Just to clarify, in the "Top 50" table I noticed that "Ivory Tech Systems, Inc." has 4 Mechanical Engineers at $380,000 and "Blade Network Technologies, Inc." 5 Senior Software Engineers at $342,000 along with a few other Engineering positions that earn greater than $154,340 (the highest salary in the "Jobs of interest" table) and less than $500,000 (the salary cutoff for the "Jobs of interest" table).

Am I misreading, or is there a typo in your conditions for the "Jobs of interest" table? I'm a Mechanical Engineer, so we share an interest in the second table.

thank you for your interest. The difference between the first table and the second table is that I removed all salaries above $500K before generating the second list. I just considered it unrealistic that any engineer makes that much money. This is what causes the differences in average salary for some of the jobs.

If you want to know exact numbers for your field, I suggest you play around with the Access database yourself.

Interesting database, nicely filtered results. Some gnuplot would have done wonders, too. I am a recent immigrant on an L1 right now, but applying for positions elsewhere right now and looking to change employers. This data is therefore of great timeliness. This morning a recruiter suggested 150k as the mark to ask for for on one position this morning. Considering the data presented here: not bad for dropping out of college!