Why programmers burnout into existential depression: the broken promise of computing
Most people can recognize the issues in the world. But programmers can actually see how one part of the world — computers — could've been not just better, but realistically perfect.
A Polish psychologist Kazimierz Dąbrowski described people suffering from existential depression like so (emphasis mine):
People are most often affected by existential issues as a result of their own experience of puzzlement from trying to understand themselves and the world, which then generates feelings of aloneness and existential depression.
Because brighter people are able to envision the possibilities of how things might be, they tend to be idealists. However, they are simultaneously able to see that the world falls short of their ideals. Unfortunately, these visionaries also recognize that their ability to make changes in the world is very limited. Because they are intense, these gifted individuals—both children and adults—keenly feel the disappointment and frustration that occurs when their ideals are not reached.1
Many adults can relate to the feeling of disappointment about the world, recognizing all of the unnecessary suffering in it. Millions die of hunger, yet we waste enormous amounts of food every day. People kill each other in wars created by select psychopaths. Sure, anyone can imagine not having wars and *sigh* sharing the food with hungry people instead of dumping it into garbage. But we still don’t know how to reach that humble dream. The world of humans is complex, messy and unpredictable.
But math… Math is pure. It’s the only thing known to us where the notion of Truth is absolute. Many people are attracted to this quality — it’s so immensely different to everything else. They invest their emotional energy into the abstract world of purity, but for some it’s not enough: they want to bring that purity into the physical world. This, in theory, can be done with programming.
Programming (physical realization of natural science of computation) is essentially pure math embedded into the physical realm. A programmer whose mind is not yet broken by the endless layers of complexity, dogma and cargo cults, can easily imagine a Program That Works Forever. A machine with some piece of software that will basically never stop running, iterating over the instructions perfectly. But the computers we have seem to be the opposite of that.
Every once in a while someone on the internet shares an amazing story about their grandparent’s 1999 desktop computer with some obscure accounting software still being used. It works exactly the same way it worked in the beginning. Hundreds of commenters are amazed, as if they found a piece of beef still fresh after 24 years. Come on, this is a CPU running a program, it is meant to be eternal2. We should all be constantly amazed about the fact that a script you wrote last week stopped working this afternoon. That is truly amazing.
So it turns out the computing world is complex, messy and unpredictable, just like the human world. Not surprising: it was built by humans in their image. But unlike politics, law, religion and other “dirty” areas, computing is math, so it could’ve been pure. It could’ve been this beacon of light above all the messiness. But we somehow dragged it down, and it now feels just like politics, law and religion.
Programmers’ burnout is often attributed to working conditions, management issues and feeling of uselessness. I believe that for many people, underneath it all lurks a recognition of a broken promise of computing. This could’ve been so great. This could’ve been perfect.
Please, ignore the implication that “programmers get depressed because they are so smart”. While I won’t argue against the notion that programmers are, generally, very intelligent people by conventional standards, this is not the point.
Yes, I know, hardware breaks. But it is extremely reliable, compared to anything else physical created by humans.
Subscribe to Philosophy of Software
Philosophical thoughts about computers, software, and programming.