Think of the life of the software developer. Nothing ever works. Because as soon as it works, the product is done, it gets shipped, and perhaps we get to play with it in all its glory for half a day.
Then we are back to the next feature request, the next bug fix, the next refactor. And nothing ever works again.
99% of the life of the software engineer is spent in an environment where nothing works.
Most of the time, we don’t know why. Of the little time when we do know why, most of the time we don’t know how to best fix it. Of the the little time when we do know how to fix it, were were wrong, or we have to fight the build system, or the the lack of a suitable test rig, or… And as soon as we proudly emerge saying “see, I got it to work”, our very first user clicks the very first button, and it crashes.
I would say developers are extremely good at tolerating, and thriving, in an incredibly frustrating environment that would drive many other types of people insane. We consider it the only type of environment that’s interesting.