However, if we looked up average household income, these countries aren't too different from the US. And I don't believe American coders are twice the better than coders in the other countries.
I can understand that FAAG pull up the average salaries and they can easily afford it. My question is how do SMBs in the US hire engineers under this type of fierce salary competition?
Generally, SMBs don’t hire software engineers at all unless they’re in the business of making and selling software. Smaller software engineering tasks are contracted out to vendors and custom software shops that may already have similar products that can be adapted to a customer’s needs rather than developed from the ground up. The high software engineer salaries force a sort of efficiency on the market.
Smaller startups that want to develop software might offer engineers some ownership of the company, or additional perks like remote work and shorter hours to attract them to jobs that don’t pay the highest software engineering salaries.
There are also many junior developers outside of big cities who have salaries more in line with the $60K range you listed. These are not talked about often on HN but they exist.
The FAANGs in the US will hire basically anybody, provided that person passes their interview process and is willing to physically relocate to one of their offices, which are usually located in major cities that have high costs of living (e.g. Bay Area, New York, Seattle, Boston) and therefore high compensation.
But there are many, many competent people in the US who aren't willing to move to one of these major cities, who can't pass the FAANG hiring bar, or don't want to.
Those people may be willing to accept a lower-paying job because that suits them better.
It might also be worth considering if the role you're thinking of as "software engineer" is actually a "software engineer". Does an SMB really need a "software engineer"? Maybe what they need is a "software developer", which on average receives a lower salary.
* have smaller staffs
* hire younger/entry/intern level staff
* outsource to cheap freelancers
* outsource to agencies (onshore, nearshore, offshore)
* buy saas solutions and glue things together with tools like Zapier
* use no-code tools like Excel rather than building software
* skimp on software process (no staging, no version control, etc)
If the average is 100k, and there is one FAANG developer making $500k, you could have 10 folks making 50k and still have the average work out.
Firstly most companies don't roll their own software, a lot of stuff is done with off the shelf products, and maybe some outsourced customization (especially in the web space). Custom software is typically only developed if 1.) there is a pressing need and 2.) there is nothing that can already fit the bill and 3.) it will result in a large enough business benefit to cover the cost.
Now there are things SMBs that do create software do to get better efficiency. Firstly teams tend to be smaller, often with a push for everyone to be "Full Stack". Originally this was Backend + Frontend, but this is often including DevOps, QA and more. Teams will often require everyone to work in every skill area at least at a junior level. Secondly there is a push in a lot of organisations for more then 38 hours of work a week in anywhere that is billing out staff.
SaaS solutions these days are pretty robust. Some examples of what she uses:
- Shopify + a number of add-ons to run the store, including Shopify running on iPads + bluetooth scanners for the POS.
- WordPress + Gravity Forms to run the jobs site with an automated job application flow.
- WordPress + Gravity Forms for custom order flows.
- Quickbooks
- Nest for remote security system
- Shopify email marketing (used to be Constant Contact)
- Google Workspace for email/docs
- Misc. apps like TSheets for employees clocking in-out.
- Facebook/Instagram for marketing, including weekly Facebook Live shows they started during the pandemic and continued because people love them.
They have thousands of products so inputting/maintaining inventory, adding images and unique descriptions, etc. is still cumbersome (e.g. getting CSVs from vendors).
In cases where they do, it is because that is fundamental to their business, i.e. they're a software company or something similar.
There are also SMB companies which provide IT services for other SMB's, which also bill on an hourly basis. It essentially is several SMB's each paying part of the bill, and that IT services company works for several of them.
I should note that, for small companies, something similar often happens for accountants, payroll, and other HR functions; they contract with a company that does this kind of thing for several small businesses.
1) SMBs don't necessarily hire that many software engineers. Hell, even tons of large companies barely do. I work at a multinational (100 countries) which mostly buys off the shelf software, and uses basic tools like Excel to run a ridiculous amount of internal business processes.
2) Non-software companies tend to hire software companies, not software engineers. Due to the economies of scale that comes with companies producing and selling (standardised enterprise) software, salaries of software devs aren't that big of a problem necessarily. A company like Trello for example built a collaboration tool with 10s of engineers that has something like 100 million users. The numbers aren't exact, but the order of magnitude is.
Beyond that, you'd be surprised how large the nominal income differences are for US/EU companies, individuals, households etc. The extra money doesn't translate into much better quality of life in the US (due to the crappier working hours, the no legal holiday rights, crappy parental leave, no cheap universal healthcare or tertiary education, poor public transport, no walkable cities, inequality, more energy-intensive economy blablabla), but purely on a nominal dollar basis the US really outearns Europe by quite a large margin.
Pay for devs in EU is going up as well because of that. Local software houses are loosing devs because of that. US based companies with VC money are showering devs with cash.
They don't do that to cut costs anymore but to just have developers.
Medium businesses use Excel and packaged software and consultants. Small businesses use Excel, cheap packages, open source and SaaS solutions. Basically their focus is on their business. To them computers and programs are an expense to be minimised.
Most small business owners I've met would rather buy a new car for themselves than update the office computer or software.
Software is the ultimate scaleable write once and run everywhere resource. An SMB just runs software already written.
The one exception is an SMB that specializes in writing software aka the startup and they usually have to hand out equity and/or pay reasonably well.
Also the offshore devs are at a disadvantage because of distance, different time zones, language familiarity (not only for client comms but to read the docs), cultural familiarity, agency problems, etc. (I don’t like working for an outsourcer if it means I can’t tell the client the truth about why the project is late - the truth might be less bad than what the client imagines but it still could be bad for the relationship.)
The south Asian miracle comes from liberal application of management, more people, lots of documentation - it can work wonders but doesn’t always and adds overhead.
Sure FAANG engineers can commonly make $200-600k. But the last equivalent tech co I worked at had 3 per 1,000 applicant acceptance rate (sure they probably also had a lot of people applying without a prayer) I wonder what the median is?
Also beware of survivor bias. At successful, public TechCos equity compensation typically grows over time due to the rise in stock price (if it doesnt the pay quickly becomes more average and/or the company goes bust) You can easily have an L4 engineer making L6/7 money because their start date and RSU pricing was lucky. Absolutely nothing to do with their skill…
How are salaries so low there? How do they plan on having competitive tech markets?
[0] either through sales or increased productivity if it's software for internal use
Also, there's really not too much software that a small business needs. Quickbooks. Excel. Salesforce/Zoho/whatever for the CRM. A website. What else does a small business need? When they have special needs, they just get someone like me.
It's not like every business is building a nuclear reactor and needs various monitors and alarms and stuff, whatever they even do with reactors, I don't know.
There's all kinds of outsourced tech support - phone or onsite. MSPs.
Everyone says to find a niche and fill it and that is how you can be successful, but everyone knows this, it is no secret, although so many people do, as if they are the only ones that know about it. But anyways, as a result, there is specialized software for everything imaginable. Damn difficult to find a niche that someone's not trying to exploit. Name an industry, a sub-industry, a sub-sub-industry, a sub-sub-sub-sub-sub-sub-industry and there's specialized software for it.
Most other countries (and economic unions like the EU) don't have a homogeneous market, which is mostly due to language and history, as well as infrastructure. Companies in the US can optimally target ~300M clients in the US alone with a digital, English offering. that number just rises if you're willing to go to other English-speaking countries. If you were to compare that to a company in say Poland, Thailand or Argentina, either your product won't reach most people because the infrastructure simply isn't there, and the market can be quite small too.
Some countries are also notoriously difficult to start a business in due to worker's rights or burdensome procedures.
Other regions in the world couldn't do/haven't done enough to provide a stable, slightly homogeneous market, due to old rivalries, foreign influences (Afghanistan, Venezuela, Chile, Egypt, Jordan, Kenya, Iran, Iraq, etc.) or just straight up negligence and arrogance.
It's a big paradigm jump to go from SMB with mostly externalized functions/SAAS to getting economies of scale with your own major IT department, assets, and facilities.
I've argued for years that MBAs need to be trained on the fundamentals of IT as much as finance and accounting: large enterprises are all IT organizations now, and good IT is a major major competitive advantage in the marketplace and a primary source of large economies of scale and efficiencies.
The biggest example of this is Amazon, which essentially competed in the retail space as a very well run software/IT corporation. And now they dominate not just online retail but the cloud.
Maybe not twice as better, but they are definitely better. How can they not be? America has been the immigration destination of choice, of the top coders from around the world for 3 decades.
This isn't very relevant. The USA is a much larger market. It's a little bit richer than most european countries, but the total number of customers to sell to is 4-8X larger, and you can also sell to much of the rest of the world when your product is in English.
The engineers who work for non-FAANG are not a part of those high salaries. The average is not a useful number, as many are either well below it or a well above it.
But yes, in short, it's hard to hire US engineers due to them being so well-paid. This is why SMBs offshore their engineers from the rest of the world.
Several SMB's had employees that had a job title unrelated to SWE, but still did lots of SWE tasks. Often these would be one individual maintaining an intranet portal, or some UI program for data entry that sales staff used.
That's close to minimum wage in most provinces, even poverty level in many cities.