I'm not saying we're smarter or innately better, but coding is a tradeskill and the masters of the trade are almost all here.
I'm interested to see how much this changes over the next decade, though, since a lot of people have scattered across the globe thanks to remote work finally catching on.
Software is a people problem and what big tech looks for is top notch technical skills and the mindset/ability to solve them in a chaotic environment.
I'm fairly certain you're confusing anecdotes and culture with "big tech vs. your local shop". Software being a people problem meaning big tech is more people focused is a false dichotomy.
Most of the big tech companies' engineers are doing the same type of work as outside big tech. However, their internal practices are scattered and faster than outside (IME), which means you have to be able to keep your head above water, drive your own career, and deliver impact. You need to understand the product space quite well, as you are expected to be a partner. Rather than delivering code, you are delivering value.
Maybe 1 in 20 engineers that I've worked with outside big tech had this trait. I think they set the tech bar high, but the real skill differentiation I have seen is ownership.
The experience in scaling products that big and that fast is concentrated and not evenly distributed.
But that's far away from the claim from above, that any 250k+ total comp developer from SV can outprogram good people from outside the US who don't make 250k+ total comp in basically any benchmark.
Most SV employees never have to solve these problems.
I picked frontend intentionally because it's probably the area that's the furthest away from these problems, but still compensated at 250k+ levels, if you work in SV for the right employers.
But even among backend engineers, most have never touched hard to parallelize problems. I'd argue that most (definitely not all) FAANG backend tasks are easily scalable. Implementing them still takes work, whch is done by most FAANG engineers. FAANG level tooling definitely helps, and while developing that tooling is hard, the people who have built such tooling are only a tiny subset of FAANG employees (regardless whether they are more skilled than the average FAANG employee or not).
For one, developing frontends at the scale and complexity needed for quickly growing organizations is just as complex as backend scaling in a variety of ways.
If you're a frontend expert and can operate in the way needed to support a rapidly growing business/product - you can make just as much if not more than backend engineers (500k+ easily at senior levels). This instinct around large-scale abstractions is not developed by building small sites over and over gain. This is just simply experience not everyone has because it requires context.
Also programming ability alone is not the sole reason for the outsized comp packages. In my view, it is at most 1/3rd of the reason. There are a lot of other qualities that are important that can only be gained through a specific kind of experience.
What do you mean by large scale abstractions?
Generally, small frontends are different from large frontends. Already because you need to work on a team instead of being able to do it alone. But adding features is a quite orthogonal concern to scaling by the number of users I'd say. There can be extremely complex frontends that only have a dozen concurrent users (think some company internal admin console), and nothing prevents a small frontend from targetting billions. E.g. Google search used to have a quite simple frontend 17 years ago, and it still looks quite simple to the outside, but the results side has obviously been heavily enriched since.
From the frontend point of view, it is just calling an API, and processing its results, while there is backend magic happening to make it scalable. I'm disregarding SSR here for a moment. It shouldn't matter if the same frontend code is loaded by ten users or hundreds, or billions.
> There are a lot of other qualities that are important that can only be gained through a specific kind of experience.
Can you list some of those qualities? I'm curious.
Some problem that would hit one customer every few years and go away on refresh for a local mom & pop website will irritate thousands of people a day on Google.com, and those people will band together on Facebook into a support group, and that support group will get media coverage
You try to look into the issue and you can't reproduce it at all, you just have to figure it out from tiny wisps of clues
More precisely, the number of people who were there when "scaling products that big and that fast" applied to Facebook (or other comparable companies) is a tiny fraction of all SV developers.
That, perhaps, you have never had to come in and save any team at my company, or thousands of other companies, because we are competent developers?
Being able to do the work of 10 people once, does not mean that you are able to take 10 people from any company outside of a specific geographic area and replace them with one of you.
If paying 250k+ for a developer is insane, then so is a company able to pay 250k+ without running huge losses. Those developers still make peanuts compared to what the stakeholders and executives do, despite these salaries. It's ignoring the elephant in the room which is fat profits being with a few companies, subsequently making it tougher to compete for anyone not born in wealth or able to get VC money to play with.
SV could both bankrupt dozens of companies outside SV, slash that 250k locally and up to ante globally if it had a mentality shift, in less than a few years. That's how insane the profits are.