Being a good developer (usually) doesn't mean writing especially performant code, at least not beyond what's noticeable in terms of the end user's experience. It means creating products with:
- intuitive database schemas
- clean code architecture
- good overall readability
- simplicity and optionality
Being a developer isn't much different than being any other type of writer. The best way to figure out if someone is likely to be a good developer is to ask yourself whether they'd likely be successful as a contributor to the New Yorker.
If you want to min/max your stats, all that matters is mastering the 'Cracking the Coding Interview' style. So many companies cargo culting Google interview style such that it's now pretty dominant, at least in NYC.
On one hand you'd think this would be self correcting, more nimble companies would find more effective ways of interviewing. On the other hand, software development is one of the most fad driven industries out there.
Same reason famous actors, athletes, etc. are paid more than others doing the same job: Their marketing ability brings more customers to the theatre, stadium, etc. That brings added value and the leverage from that brings added compensation.
* Build a system from the ground up => Understands how to build custom solutions with or without frameworks and pre-established libraries in order to reach the optimal business solution for the company/client which may include time and resource constraints
* Capability to handle requests at high capacity and performance => Understanding of development operations including but not limited to linux, networking, automation, cloud solutions, databases
Now the extent to which a developer has trained those skills would greatly effect earning potential however having them at a basic level would certainly qualify one for most dev jobs.
Machine learning and data science are particularly valuable because their is simply so much unexplored territory and so few candidates. $500k could easily be the salary of some of the primo researchers working for Uber, Google, Etc.
It's just another consultancy business.
My personal understanding (as a web developer) had always been, someone who is "good enough" is someone who can build a system from the ground up, with the capability to handle requests at high capacity and manage performance. BUT, this would just be an advanced CRUD app and I fail to see how that would reach a salary of $500,000 a year.
It looks like ShellyPalmer has a special focus on machine learning and data science. Perhaps their requirements are beyond what I am even aware of.