The Hard Thing About Software Development
The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull. It means that programming skill in the absence of business domain knowledge is becoming increasingly worthless.
Said another way, there are an ever decreasing number of software problems that are so cut and dried that they can be tossed over a wall and implemented in isolation of business expertise.
This is why the price for remote programming keeps dropping to zero. You cannot compete with on-premise talent when it comes to deep specialization in a business domain. The higher you move up the value chain in terms of your business offering, the more that the variations inherent in the business problems and technology constraints become wickedly complex.