It's really not impossible. The main difference is in LC practice and system design experience. The latter of which is likely covered by any reasonably scaled startup.
The barrier to the former is practice and knowledge of fundamental algorithms. There are a lot of algorithms that come up in practice, and it can be intimidating to learn the first time.
As the parent mentioned part of the problem is that engineering productivity as measured by dollars/engineer is proportional to the profitability of the firm more so than the skills of the engineer. High end engineering firms are highly profitable and select the best engineers. There are diminishing returns to hiring more engineers so companies prefer to hire the number they need at the maximum competency they can pay for.
IIRC 2 decades ago engineering was more evenly distributed in salary expectations as there weren't as many mega cap companies, and the ones that did exist had the philosophy that they should hire more engineers rather than better engineers.
This was codified by Charles Simonyi in his dissertation on Metaprogramming, which he implemented at Microsoft.
The idea was there would be one software architect called the Metaprogrammer who would write the design and specification for the program. All the other programmers would implement this specification in as straightforward a way as possible without making any design decisions. If a design decision comes up, they refer it to the Metaprogrammer. This way you can hire large numbers of cheap low-level programmers, leveraging the skills and experience of a few experts. The idea was ultimately that the mundane code should be auto-generated.
It took Microsoft a long time to recover, if it ever really did.
The barrier to the former is practice and knowledge of fundamental algorithms. There are a lot of algorithms that come up in practice, and it can be intimidating to learn the first time.
As the parent mentioned part of the problem is that engineering productivity as measured by dollars/engineer is proportional to the profitability of the firm more so than the skills of the engineer. High end engineering firms are highly profitable and select the best engineers. There are diminishing returns to hiring more engineers so companies prefer to hire the number they need at the maximum competency they can pay for.
IIRC 2 decades ago engineering was more evenly distributed in salary expectations as there weren't as many mega cap companies, and the ones that did exist had the philosophy that they should hire more engineers rather than better engineers.