Show HN: A histogram of salaries given to H1B workers in the software industry
swizec.github.io
swizec.github.io
"In 2012 the Oregon software industry gave jobs to 38 foreign software engineers."
Ok so here I am assuming you mean 38 new H1B engineers were hired in 2012. There is no way that could be true, I nearly hired and processed that many H1Bs personally in 2012. I was working with several others with similar or higher numbers. And that's just one company in Oregon.
Not trying to nitpick with anecdotal data, but it just seems wrong to me.
- Prevailing wage
- My actual base salary (higher than above)
No sure which of the above they're using for this infographic (I know the actual base salary has to be >= prevailing wage, but is it public?), but when you include stock grants / bonuses / 401k matching, my total compensation is well above both of those numbers.
I looked at the website briefly, but wasn't sure how he was able to aggregate all of the data.
There is an Employer address, and then there are two separate fields for Working Location. So part of the problem is are we looking at where the company is registered, or where the employee is physically working?
A second issue is in the 'LCA_CASE_SOC_NAME' - the job title / category. I found 27 categories which are reasonably related to computer software field, including things like 'Graphics Design', 'Computer and Information Systems Managers', 'Network Systems and Data Communications Analyst', etc. If you filter on just the specific 'Computer Software Engineers, Applications' category you will see much less.
The 2012 file shows decisions made 10/1/2011 thru 9/28/2012. If I look at data for 'Employer State' of OR, and filter on 27 categories which seem computer/software related, then I see 321 records. If I look at data for 'WorkLoc1_State' for OR with the same categories, I can see 1557 records.
You can download it yourself here [1] although it's 70MB and takes several minutes to pull from their servers.
[1] - http://www.foreignlaborcert.doleta.gov/docs/py2012_q4/LCA_FY...
https://my.infocaptor.com/dash/mt.php?pa=h1b_metrics_5224efd...
http://www.flcdatacenter.com/download.aspx
older data here:
Drive down homegrown market prices by increasing supply.
You are hiring a developer, do you call her an engineer where the prevailing wage is 87k or do you call her a programmer where the prevailing wage is 61k?
This type of fraud is difficult to prove and there probably isn't even anyone responsible in the government to verify or investigate issues.
EDIT: forgot to mention that the prevailing wage can be determined by salary surveys provided by the employer themselves (!!) during the labor application, giving even more incentive for tech companies to suppress wages by any means possible.
http://www.wsj.com/articles/SB100014240527023045275045791674...
There are just functional differences between developing software and engineering it. The sooner the software industry recognizes these differences, the better served we will all be.
AFAIK, the whole reason for the role title "software developer" is to indicate a breadth that goes beyond mere coding and subsumes system design and requirements analysis.
So a software developer shouldn't fall down on that task.
Edit: other than that, what you seem to be speaking of is more about experience. An experienced "developer" will have a better time at architecting a solution than an inexperienced "engineer".
[1] https://news.ycombinator.com/item?id=8687804 [2] https://news.ycombinator.com/item?id=8651850 [3] https://news.ycombinator.com/item?id=8637756
- Indian companies
- Using cheap labor
- Paying significantly less then other companies.
- Responsible for almost 50% of all H1B applications
Driving the salaries by immigration is an historical complaint worldwide. HackerNews or not.
Seems you could collapse those two issues by just saying: the 50,000 slots (or however many there will be) are auctioned off, or allocated in order of highest salary offer, or something similar. In theory the "invisible hand of the market" ought to then allocate the slots to where foreign talent is most needed, and the companies using it for cheap labor won't be able to outbid Google/etc. for the slots.
Sponsoring someone would be too damn dangerous and expensive for smaller companies and startups.
These programs suppress wages for low-end computer positions. If you were around in the 90s at a big company/government, you'd run into old guys who made big bucks tweaking COBOL and Operator types tweaking Batch jobs. The whole point of COBOL was that you could teach the average bean counter to write it, so the answer to the problem of these guys retiring was to import cheap workers and automate.
My grandparents all came to the U.S. from Ireland. No H-1 nonsense where you get tied to an employer, just plain immigration and a path to citizenship. It should be no different today.
Those two combined make the 'need' for foreign tech workers seem very suspicious.
On top of questionable need, there are other facets of the program that are obvious areas of potential abuse (employer reported prevailing wages, employer sponsorship forcing employees to stay out of the competitive job market, etc)
There may be some absolute need for the most talented people other countries have to offer, but there is little evidence that generic 'programmers' or 'analysts' need to be imported into this country when we have 4-5% of college graduates unemployed[2] (thats ~2 million people at least[3])
Or maybe everyone here is a xenophobe
[1] http://www.geekwire.com/2014/analysis-examining-computer-sci... [2]http://nces.ed.gov/programs/digest/d13/tables/dt13_501.80.as... [3]http://en.wikipedia.org/wiki/Educational_attainment_in_the_U...
Anecdotally speaking, it's hard find and hire good engineers in Seattle.
Locally the talent pool is shallow, as most if not all the good engineers are well taken care of by their employers (as they should be).
If you're lucky you'll contact one at the right time who is looking for new opportunities.
If you're a Google, Amazon, or MSFT with deep pockets then you can pay to acquire talent. For others, it's not easy.
Have data to back up that statement?
That is the perception.
The reality is that there are a number of top engineers from overseas, and they are compensated very well. What India and China are able to do is produce a lot more average quality engineers. Indian and Chinese average engineers are on par with average engineers in the US.
There just happens to be a lot more average quality engineers from overseas then there are in the US. US companies have figured out ways to work with overseas shops that employ average engineers because the cost basis is worth it (1/6 the cost).
With programs like Code Fellows and other coding bootcamps, you're going to see an increase of mediocre American engineers, but at a much higher cost.
Most positions don't list salary.
From my experience, it's not a problem getting candidates to accept offers, but instead get qualified candidates to extend offers to.
If there aren't enough engineers with skill X, and Y years experience, willing to work for pay Z, we need to adjust one of those 4 levers.
If you refuse to pay that premium, nobody will move from other cities, so you're fighting for local talent.
If you refuse to even post your salary range, nobody who knows Seattle real estate prices and has wasted time interviewing for Seattle positions before, will even bother applying. That is the case with me.
Is 'Z' a low number compared to the average employee? If that is, maybe that's the problem?
When I do basic salary surveys, companies in Seattle appear to be paying market rate. Early stage, and pre-funded startups typically don't, but most other companies do.
The salaries don't compare to Bay Area salaries (but they are up there), but that is because our housing options are much more affordable.
The feeling I get is: Bay Area engineers don't want to move to Seattle, and Seattle engineers don't want to move to Bay Area, unless the comp is significantly above market.
I assume if no salary is listed, they are paying "market rate."
For me, I've learned how to negotiate effectively, and as such, can get the compensation that I want.
It's not a skill that a lot of people have, so having a salary listing makes it easier.
H1B holders are effectively tied to their employers. Sure, they can in theory find other jobs, but the timeframes and restrictions are very different to those of an actual immigrant.
Immigration of talented people would be fine. I would love to see a merit-based system. But the H1B system is hardly immigration.
I was just trying to explain why a lot of people here seem suspicious of the motives behind companies hiring H1Bs.
We do not have major unemployment in the Valley. It's very very very hard to find good people.
Any time somebody says this, I always mentally add "...at the wage I want to pay."
It is not hard to find good people if you offered a million dollar salary. If there were a legitimate labor shortage, wages would be skyrocketing. Instead, we get employers whining and agitating for increasing the H1B quota.
OR decrease their expenses.
"There's no shortage of smart, hardworking engineers. There's a shortage of smart, hardworking engineers willing to work for very little money."
If you're having trouble hiring, it's probably because you're not paying enough. It turns out that talented people are worth paying a lot for.
The filtering problem might even get worse if you offer such an out-sized salary in the marketing of that open position...
Not just on HN, but the discussions on H1B are similar everywhere. And just in case you don't understand the controversy, a lot of people believe that the H1B program is being misused and abused, to the detriment of employees here. If you don't agree with that, you should make your case instead of whining about the arguments.
The links you cite don't point to any specific post, and I couldn't go through all of them to figure out which ones you consider bigoted. But if there are bigoted and hateful posts (which are wrong and I don't condone) I would disagree with you that most people here hate on immigrant labor.
A former employer employed J2EE devs for $25/hr from an agency, meaning the workers literally make about $15, and are basically indentured to their employer for the visa period
I can offer this from personal observations: - I work with many clearly talented foreigners such as Indians here on H1B
- But I've also seen entire floors of companies such as at Cisco and Ebay that are almost 100% Indian
- This appears to happen when management positions are attained by Indians who only hire more Indians and contract with Indian-based outsourcing companies
- The Indians in these companies are different than Indians who work at other companies that are not dominated by Indians, in that they tend to be of much more dubious ability. This leads me to believe that there is widespread fraud on the visa applications.
- I've heard of under the table dealings among the same people where positions at companies are sold for thousands of dollars.
All this leads me to be against the work visa program for spouses of H1B workers. I can easily imagine wives of Indians without skills creating fake resumes, and paying under the table to gain positions in Indian dominated departments. Almost guarantee this will be a widespread problem.
Now I wouldn't class a CS degree as a 'certification in engineering'.
For example, Microsoft lost a lawsuit regarding the MCSE designation.
Are the egos of the "real" engineers really worth the additional burden of this regulation? At best, it stops people using a word that was coveted by others. At worst it means more regulatory hoops to jump through when there was no problem in the first place.
But private companies usually don't release their salary info. I don't even think public companies do.
But a least 4 of the top 10 companies sponsoring for visas in the US are playing very dirty[1][2][3][4] and pay there employee a lot less than they should.
And for what it's worth, most of this companies, now in trouble, are:
- Exploiting cheap labor from India.
- Compromising career and future opportunity of the employee they sponsor
- Affecting thousands of other visa applicants workers who want to move to the US and can't due to the illegal practice of those companies.
[1] http://www.wsj.com/articles/SB100014240527023045275045791674...
[2] http://articles.economictimes.indiatimes.com/2012-04-04/news...
[3] http://articles.economictimes.indiatimes.com/2011-07-20/news...
[4] http://www.businessweek.com/bwdaily/dnflash/content/feb2009/...
But this doesn't work. For many people on H1B's the visa and greencard sponsoring has tremendous value. The do depress wages, but it's because of the risk around the visas.
If you have an H1B, you're less likely to work at startups -- if the company goes bust and you need to find a job fast, you're at tremendous risk of needing to leave the US. You have 4-5 weeks to get a new job, but it has to start by then. Thinking about how long interview cycles can be at some companies, 4 weeks from application to start date is challenging.
Also, people getting sponsored are much less likely to leave. This should be the real metric for evaluation -- turnover. If you're on a visa, especially if you're getting sponsored for a green card, you're much less likely to quit and go to another company. You can get hired at a competitive salary, but over a few years and a few promotions you can be underpaid.
To completely stereotype, I used to work with a ton of these guys at Amazon -- they're all in line for Green Cards and will not consider quitting or even complaining about things until they get it. The turnover among non-visa people is much higher.
For a company to apply to a H1B visa they have to prove they have enough financial assets to not get bust.
There are however several reasons why startups are not sponsoring H1B visas as much as they should:
-It's time consuming. It really takes a lot of time, most of the immigration law firm are not startup friendly and are using old schools forms and stuff.
- They are not educated on visas sponsoring. They just don't know what it takes and stuff.
I'm here talking from experiences
The H1B program doesn't really help or address the need by startups for qualified employees.
I wouldn't characterize that as a stereotype as much as a data point. It's very good info and insight, thanks for that.
If visadoor ever read this, please add salary range filters to http://visadoor.com/h1bvisa-database. E.g., only show offered salaries >= 300000. Thanks!
What data are you seeing missing? AFAIK its pretty accurate, but http://visadoor.com/h1bvisa-database is the archive database and is usually upto a quarter old.
Realtime (updated daily) is at http://visadoor.com/h1b-lca-database.
BTW - thanks for visadoor!
I studied Software Engineering, and I'm accredited by the Institute of Engineers in Australia.
Basically, in software in US, you can be an "engineer" and not get in trouble if you are not.
Not really. If you've got a CS or SE degree you are certainly an engineer. If you've built systems and worked in the industry solving difficult problems you are an engineer.
In the US we don't need an expensive piece of paper telling us what we're qualified to call ourselves.
EDIT: To be clear I'm referring to software engineering. Not all engineering. I thought that was obvious based on the context of the post but I guess not.
I don't really follow this argument, since it isn't like all the 'certified' engineers are interchangeable. You would have just as many problems if you hired an electrical engineer to build your bridge as you would if you hired a non-certified software developer to do it. Are people really worried about software developers trying to illegally build building?
I mean, we don't legally limit who can call themselves an engineer in the US, but you still need certifications to actually BUILD something that requires engineering work. That seems like a much more effective control than limiting who can call themselves engineers.
People have been taken to court for calling themselves engineers if they're not officially licensed. This is why the MCSE is no longer an acronym as there was a court case about it. There's a few kinds of engineers that don't have to be licensed as they pre-date the law (e.g., stationary engineers who take care of things like boilers), but they typically have their own regulatory organizations.
http://www.e-laws.gov.on.ca/html/regs/english/elaws_regs_900...
See section 77. Generally, it often revolves around 77.2.i,
"A practitioner shall, regard the practitioner’s duty to public welfare as paramount"
One could see a conflict come up between the company's and the public's interest. For example, you get asked to write the code in a way that takes less time, but could expose the client's data to hackers.
I agree that a person could be placed in a situation where they were asked to do something against the public welfare. But I don't see how reading this rule in a course would actually help the person making the decision.
For example, I've been in situations where security issues came up. Like most real life matters, it was a matter of judgement, and the tradeoffs were complex. But I went above and beyond what was expected, to do things the best way possible. I did it because I thought it was the right thing to do, and because I take pride in my work. But I didn't need to take a course or get a certificate to know this.
If I were designing human medical trials, then I agree that a course in ethics would be in order. But all aspects of life involve ethical choices, and I don't think that you need to be an expert in philosophy to make the right choices.
So, it's often good to examine a complex situation from the viewpoint of multiple ethical systems and make a decision based on that. That's what courses in ethics do. They teach various systems and present situations to examine.
A lot of people might go with consequentialism, which is basically, "The end justifies the means." Utilitarianism is essentially a subset of this.
So, yes you have some ethical system that you follow, but if you're only looking at a situation from that viewpoint, you might miss out on an alternative course of action.
Without this, it's arguable that having an "engineering degree" (in a certain discipline, say software eng) from one university would not all be comparable to having one from another institution - thus decreasing the overall quality of the industry. I'm not saying having the standard solves all these sort of problems, but I am saying that it makes things better.
Additionally since the Bolognia process people get a degree as Bsc or Msc. in Computer Science while the older degrees do contain the title prefix "Dipl. Ing ..." (e.g. Engineer with specialization in Software Development). So while the degrees are protected the job title are basically totally random.
In many countries (not sure about the US), it is illegal to call yourself an engineer, regardless of what discipline it is.
In Canada, various provincial bodies (PEO in Ontario) regulate the use of the title "engineer", including derivatives of it such as "software engineer". [0] Some of this might seem heavy-handed (see objection to the MCSE term[1]) and I used to think so, until seeing various articles like this one.[2]
Having the term regulated is useful in establishing a minimum or baseline of knowledge that one has to have. To call oneself an engineer without having had the common/basic education in various topics like calculus, linear algebra or statistics is at best misleading, since an accredited engineering program would have provided exposure to such topics. Imagine having a conversation with an engineer who did not understand the difference (or was not even aware of the difference) between mean, median and mode when it came to categorizing request-response times? I'm not trying to knock on self-learning as it's a valuable skill to have, just the concept of title inflation.
There are exceptions, of course. For example, someone with a Comp. Sci degree would likely possess the requisite knowledge and be equivalent to someone with a software engineering degree in the profession, and this is where perhaps the actions of PEO et al. are a bit overbearing.
0. http://www.peo.on.ca/index.php/ci_id/2266/la_id/1.htm
http://engineers.texas.gov/da/da021512.html
They were fined for using the term "foundation engineer". From a quick search it looks like California is one state where you're not allowed to use it if you're not licensed. I'm guessing a number of people are actually in violation of this, but are unlikely to be fined unless it's reported.
I cant see any Uk government actually having the will to pass any laws enforcing this the number of STEM graduates in parliament and the house of lords is shockingly low
They also need to rescue Apprentices form its use by unskilled employers no Tesco you cannot have a Apprentices in shelf stacking to dodge paying the minimum wage.
Would it be better for the industry (and society in general) if the titles of "doctor", "lawyer" or "accountant" weren't as regulated/protected? Should we care if people are annoyed that they can't self-label themselves as one of these titles?
That was my point entirely.
I did study all of those things, my degree was under the faculty of Engineering, and the engineers institute of Australia agreed that I do meet the requirements to call myself an "Engineer" - with all that means.
The rest of my comment was just elaborating on what I imagined you'd meant by your comment, to hopefully detract from your downvoters.
You obviously have no understanding of the different between a CS degree and a Software Engineering Degreee. For starters, mine was a full year longer than regular CS. I did engineering Math the entire time with the other Engineers, and I did courses like digital electric design and digital signal image processing that the CS'ers didn't.
It's like a CS degree on steroids.
And you also haven't explained why a slightly greater focus on traditional engineering/math is relevant to employers.
Could you provide a source for that? I know that California regulates the title "Professional Engineer" or providing "engineering services" but I'm not aware of any regulation preventing someone from using engineer in job titles.
> The California Board does regulate certain engineering titles, but not all. For example, they don't regulate the plain-vanilla title of "engineer". They also don't regulate titles like "aerospace engineer" or "project engineer".
> The law only gives them authority over certain specific titles, as per Section 6732 of the Professional Engineer's Act:
>QUOTE
>It is unlawful for anyone other than a professional engineer licensed under this chapter to stamp or seal any plans, specifications, plats, reports, or other documents with the seal or stamp of a professional engineer, or in any manner, use the title “professional engineer,” “licensed engineer,” “registered engineer,” or “consulting engineer,” or any of the following branch titles: “agricultural engineer,” “chemical engineer,” “civil engineer,” “control system engineer,” “electrical engineer,” “fire protection engineer,” “industrial engineer,” “mechanical engineer,” “metallurgical engineer,” “nuclear engineer,” “petroleum engineer,” or “traffic engineer,” or any combination of these words and phrases or abbreviations thereof unless licensed under this chapter.
So, it wouldn't apply to simply a generic "Engineer" or a "Software Engineer"
Also btw, in many CS depts in the US, students have to take very similar classes to the ones you described above, such as business ethics and what not. I know I had to. Along with multiple required software engineering courses...
Work for companies that hire Engineers, not Programmers, or Developers.
> The best city for software engineers was Menlo Park with an average salary of $130,640
The best city for software engineers should not determined on salary only.
If the cost of living is 10X cheaper in Huntington Beach and the average salary is $125k then the best city by far is Huntington Beach. Then again there is a lot more than salary to consider before moving to a city...
As an interesting point, engineers in Menlo Park earn $30k more than in San Francisco. I'm not sure Menlo is that much more expensive to live in.
Edit: to be more clear, I'm making two points. Firstly, Facebook is not known for the sort of Tata/Infosys style abusive H1b (and there'll be almost none of them in Menlo Park) whilst SF is much larger, and there could easily be such a company with an office in SF.
Furthermore, the bar for entry to work as an engineer at Facebook is possibly higher than in SF as a whole.
Hahah.
In 2014 the Utah software industry gave jobs to 1 foreign software managers, Infinity times more than the year before. Most of them made between $NaN and $NaN per year. The best city for software managers was South Jordan with an average salary of $165,000.
>they have less freedom to switch companies
Is there some data/documentation to back this up? As far as I know, an H1B VISA does not tie you to a specific company.
I found this out the hard way when I accidentally gave the lawyers my company's headquarters address instead of the office where I would be working. They're like 35 miles apart but that still required an amendment.
Plus while on H1B I can't sell a mobile app, or monetize a Youtube channel (things I could of course do if I were living in my home country), or even rent a room on AirBnB, as my visa restricts me to income from my sponsoring employer. Luckily I should have a green card soon.
You can change jobs as an H1-B: In fact, I did once, when my first employer was doing constant rounds of layoffs, and I got antsy. It's not easy, as many companies won't sponsor H1-Bs at all, but the real kicker is that most H1-Bs, me included, wanted to stay longer than the 6 year maximum.
We see H1-B as the one way to stay permanently. First you get an H1-B, and maybe in the middle of it, or at the start of the second one, you get your company to sponsor you for a Green Card. If you have real qualifications, it's a very high probability process, but it's very slow. Back when I did it at least, it was VERY, VERY slow. During the process, you can keep renewing your H1-B a third, and even a fourth time, past the 6 year maximum, so barring the company going belly up, or a layoff, you'll eventually be able to stay forever, and get paid real market rates. But during the process, changing jobs is very hard, as changing jobs at the wrong time can make you have to start the process all over again. You might also have had to sign an agreement paying back the costs incurred if you leave before it's all done + 1 year, and that can be 15K, easy, so it's a big deterrent to change jobs.
In my case, I had mild salary increases while I was getting the green card. Now, 3 years later, I make more than double what I made then, in the same town, because now I can actually negotiate without a sword over my head, and change jobs if there is a high enough bidder out there.
Yea I think you are contradicting yourself here.
The data doesn't look very accurate. For one thing, this data doesn't appear to represent what companies pay.
I usually get bill rates up around $100/hr to $150/hr depending on skill and location. Like New York has higher cost of living than Michigan so I can often pull a higher bill rate.
The payout to the H1B is works out to be $60K to $80K. An Oracle DBA working in New York will make about $80K which is roughly $38/hour and the company easily pays $125/hour for 6 month contract.
I have some overhead but it's usually a one time fee such as transferring H1B from one company to mine, legal paper work to renew, attain, and transfer H1Bs runs me about $500/piece.
Without a middleman, the H1B holder is very tied to its employer and has a difficult time changing job or bouncing back after being laid off. A middleman could smooth that out, by keeping the employee a bit longer on the payroll until they find another contract. I know people using those kind of services in the UK.
Also if you are a permanent employee with good benefits, getting a quarter of what your company sell you for is not bad.
Anyway, that's a lot of "if", I agree.
I also offer a family package. You would not believe how many H1Bs I get that want to leave their L1 status because they want to move for various reasons. Marriage being the one I get the most.
When a contract ends, I will put H1Bs on internal work for as long as I can but the liquidity of this area is such that I hardly go past a month or two for any given candidate.
Don't blame us for leveraging what is legal and allowed by economics. I do this part time through an entity I setup with a partner who is from India. He recently returned to India so we could open a site there where we can off shore work. Pumping work into those areas seems like a good thing to me. In addition, the Indian government gives free land if we open offices and/or buy buildings there too.
With the other titles there is either an inference of management/hierarchy (manager, lead) or just a different or isolated work (tester, analyst).
Do people have very defined definitions of the differences between programmer vs developer vs engineer?
I've just used engineer as the generic title.
Not sure how you would do that.
Thanks for letting me know!
Two suggestions:
1. Make the bars consistently positioned and grouped across filter clicks. That would make it super easy to compare different cross-sections.
2. The use of the history API is cool; one tiny nitpick: if the click is equal to the previous history entry, navigate back instead of pushing it onto the stack. That will avoid histories filled with A-B-A-B-A-B back and forth clicks between two pages.
[1]: http://www.nytimes.com/upshot/ -- try scrolling to "Best of"
Example: When you're at "Engineer", and then you click "Programmer", the histogram moves to the bottom, giving the illusion they're paid more, when in fact the labels on the axis also changed.
The same axis for everyone to really bring the difference home.
What would be the most typical conditions? What are the conditions an American software engineer would say: "I'm not accepting to work for less than this"?
I guess H1B program is working as the design intended; wage suppression.
If you find any bugs or need any features implemented, contact me at the email on my profile.
The important issue is if it is a net good for the economy and society. Lower wages in one area can also mean lower prices for the rest.
Glassdoor was including that info in their estimates for a while though, so no big discoveries here.
Filing fees are high ($5k+ over 6 years), as is the cost in lawyers (probably similar), auditing, and time consumption. It is impossible to keep an employee on H1-B indefinitely, so generally they will also go through the Green Card process, which is also expensive and time consuming.
Generally companies will offer a relocation package, which is also very expensive when it's international, and have partnerships with banks (having zero US credit sucks) and other services to get employees settled.
The idea that hiring an H1-B is a cost-saver is utterly bunk, and needs to stop spreading. (Other than fraud)
"Please avoid introducing classic flamewar topics unless you have something genuinely new to say about them."
Doesn't really matter what you are called, it's what salary you negotiate for the most part. Some titles are only bestowed on certain levels of people, but there are very few of those at all the companies I've worked at (Staff Engineer at one was a title only bestowed on people who had been promoted to a certain level and had certain compensation bonuses tied to it).
Is it because it's in Canadian dollars?
I heard it can be 2x-3x, but I've never seen a formal analysis.
You may have a side-effect of increased pay due to having more positions open to you. Holding an H1-B restricts you to a specific job description. For example, if you were a plain ordinary "Software Engineer" with nobody reporting to you, then you are not normally allowed to move to a role where you would have reports. This can be overcome with due-process and lawyers etc, but the basic idea is an H1-B worker is coming to the US to fill a job role not just a job.
So, when you convert to holding a Green Card, you can get promoted into positions which weren't previously open to you. You get the pay increase by being a better engineer and getting the better job.
I would say 20% is probably the higher end of increase, if any.