I think most people are not able to tell the difference between a great piece of software and an average one.
For example, the people at Apple who came with blocks and Grand Central Dispatch did an amazing job, but the difference between them and the average software developer is like 100x. A great software developer can write something that other developers can build on, which makes them more productive.
Conversely, the people who came up with Java, they figured out how to turn a great programmer into an average one, and make them want to quit computers altogether, but the below average programmers are now also average.
For example, the people at Apple who came with blocks and Grand Central Dispatch did an amazing job, but the difference between them and the average software developer is like 100x. A great software developer can write something that other developers can build on, which makes them more productive.
Conversely, the people who came up with Java, they figured out how to turn a great programmer into an average one, and make them want to quit computers altogether, but the below average programmers are now also average.