Why not roll your own? I am constantly amazed by companies moaning "We have a skills shortage! We have to get people from overseas."
Sure, get people from overseas if that works. But bloody train people to do what you need! For the FAANG, train hundreds of them!
Sure, you may want penalties for people leaving early after training or bonus for hanging around after training (like you get bonus stock 1-3 years after the training) but HR people, get creative and do your damn job! Your job isn't just hire&fire.
This is great engineering though. Isn't the trick to find engineers who don't build nests for themselves and create strategic technology problems for your company, especially if your core business ins't tech.
In software world, you can also satisfy 99.9% of cases with existing approaches. You mostly don't need great engineers for that.
Unlike other engineering disciplines, software has a constant pressure for pseudo novelty and fad adoption. One dimension of "greatness" is resistance to those temptations and pragmatism in the face of constant change. In that regard, lower quality engineering talent often correlates with increased tech churn and defects, even given a simple business domain.
Tl;Dr engineering excellence doesn't only imply innovativeness, it also implies discipline.
A generally great engineer to a startup is somebody who can ship fast, make good enough decisions and trade offs, can think on their feet, and is a jack of all trades.
A generally great engineer to a big company is somebody who can work well with others, can follow process, can work within huge code bases and abstractions, and follow architectural best practices.
These two do not necessarily overlap.
Google has brand recognition, and an enormous recruiting pipeline so they can hire one in 50 or 100 candidates.
They are better able to select for great candidates because they have more data and much more sophisticated system for identifying talent.
They pay very high salaries so they can retain top talent.
The average candidate that applies to Google is going to be a better than the average candidate that applies to a small/medium shop.
A small medium shop that tried this would be chronically and severely understaffed with a high turn over and would probably still fail at finding the best candidates.
If you are a small or medium sized shop and really need top level talent the best thing to do is probably just hire googlers and netflixers and pay them a market rate of 400-500k a year.
But for most products it's not worth it because the end product wouldn't be materially different enough from an average developer building it to justify the cost.
Also most small to medium shops could improve engineering quality by taking the Netflix approach which is getting better at firing people, and compensate them for the lack of job security with cash.
It's not negative. It's pragmatic. If you even happen to just encounter one of those people (they're rare by definition) then do what you can to hire them, but the truth is that the vast majority of companies producing software wouldn't even know what to do with them if they could attract them.
Stable, predictable, performance has a ton of value too - and you get a lot of that from 'regular' developers.
Best people do thing that matter.
There are fewer things that matter in big companies.
Best engineers are working at high growth organizations. Pay and position do reflect competence if you are looking at that demographic.
We need to make money but it’s my responsibility to ensure we do it safely. Incredibly difficult with adderall addicted developers who shine bright in politics.
What I do know is that company processes burns out all sorts of people - experienced or not. From stack ranking, agile micromanagement, unrealistic deadlines, office politics, bad bosses... These things are prominent in nearly every company, especially in top companies like Google.
I agree with the parent post, even if you by chance somehow hired fantastic 10x developers to your team, the environment in which those developers will be working in will probably burn them out quicker than just working on 'boring' software.
Many of the higher-ranking engineers I've seen at big companies weren't necessarily brilliant, but they were all well regarded.
Boring technologies seems like a good idea until you realize the market place for software people rewards people with cutting edge experience.
Great engineers use boring technology and build simple and direct systems.
- They are probably not going to be able to hire "great" engineers
- Even if they get a couple of great engineers, they are not going to be able to create an engineering culture where those engineers can do great work.
Instead of looking for "greatness", most companies in this position should simply settle for competence. Hire people who use boring technology and build systems that do things simply and directly.