Thoughts
I think about the Pit of Success a lot.
=> https://blog.codinghorror.com/falling-into-the-pit-of-success/
The idea behind the pit of success is there's some metaphorical "gravity" pulling you down, analogous to doing whatever is easiest, and in some programming languages that pulls you down into traps, and in other languages that pulls you into the best possible scenario.
The Pit of success wasn't meant to be graphed. But I like to graph things, so let's make some tweaks.
```Graph of Quality vs. Effort, showing a hill-shape
Q
u
a / - \
l / \
i / \
t __/
y
Effort
```
Suddenly, instead of a pit of success, we have a hill of success. This way of graphing things makes sense Quality is the dependent variable. "Gravity" is pulling us left, towards as little effort as a possible.
What makes the pit of success really interesting is that you end up in a place where spending more time leads to a worse product. And this way of graphing make this really obvious. Increasing effort, past a certain point, gives an actually worse product.
This might be hard to believe, but it's because we're really good at recognizing when there's not sufficient payoff and not continuing to work in that way. The basic example is re-implementing some library yourself. It takes more time and you likely end up with a worse result, when compared to using a pre-existing library.
The further point to make is that most languages and programming environments don't look like this. They don't have a pit of success. Instead, what you often see is *diminishing results* for increasing Effort. So instead of this nice peak, that gives you a nice stopping point, you end up with a flat area. And this where a lot of projects die. When you get to the point where it doesn't make sense to continue putting in effort.
But! There's an even worse scenario! In the case that an environment is very developer hostile, it looks like a logarithmic graph. There are no local maximums, no nice stopping points. It's always possible to make your product better, but more and more effort is required to do so. This is why creating Minecraft maps is hell.