There is no word in the English language that brings me more sorrow than the word “failure”, specifically when it’s used as a noun directed towards me, and by me.
“We are our own worst critics” I would hear everyone say, and as much as I despise cliches, I know that it is true, more than anything else. You can be sure, that no matter what I do, I will always hate the project I am working on until I believe that it is the perfect version of that thing that I can possibly make it out to be. It’s true for big projects, like videos that I make, or code that I write, even to small things, like simple homeworks and essays.
And this is a good life to live, trying to perfect and hone all of your skills before you release your products to the public…if you’re un-naturally good at everything you have ever done. Because the thing about trying to achieve perfection is that as beings who are inherently flawed in every way, there is no such thing. For everyone who tries to seek perfection (or at least the people that I know) they are fueled by one thing, and one thing along: fear.
There is an inherent fear whenever we finish big projects, that this thing we have spent hours, days, or years on will fail in the most spectacular way (and in the most inconvenient time according to Murphy’s Law). For the past couple of years I have spent most of my time trying to make sure that this never happens in any of my projects. It is a grueling task, making sure that I have considered all cases, thinking about the things that I can make better before I put it out there in the real world.
Of course, this isn’t inherently a bad thing. As engineers (software and hardware) it is our job to create products and services that we think will make people happy. There is nothing wrong with trying to make sure that we do just that, but it can sometimes comes at the cost of our time and our sanity, because once we take things too far, our projects stop becoming labors of love, and instead works of fear.
We fear the failure and ridicule of the public, our peers, and our mentors because it shames us. There have been parts in my life when I have spent so much time on a single project only to never finish it, because I was too scared and too fearful to have it see the light of day. Not because it was bad, but because I was afraid of seeing it ripped to shreds before my eyes. There was less shame in showing up empty handed instead of seeing my hard work and effort falling flat. That is no way to live.
There is in fact something valuable in seeing our hard work fail, and it’s not something people like to hear. It’s a lesson that all engineers learn at some point in their life and it’s one of the hardest values to teach:
Life goes on.
There will be times that things fail, or move in ways we never expected, and it won’t be our fault. It won’t be fair, or kind, and sometimes, it won’t make any sense.
Life goes on.
There will be projects that we will work on that will be too big for our own good. No matter how hard we try to save it, no matter how long we have worked on it, there will be no stopping it from coming crashing down.
Life goes on.
Sometimes we misjudge our own skills. We seek too much for what little we have, and we play our hands wrong. People will dislike our products, and we will be ridiculed for our choices. It will be our own fault that our project failed, and on this day we can feel ashamed.
But life goes on.
None of this should discourage us from coding, or creating products for people to love. We shouldn’t actively seek failure (I wouldn’t know why you would) but we shouldn’t be fearful if we do. With every failure comes experience and thicker skin. This also isn’t to say that we should try make whatever we want no matter the quality. This isn’t the Fountainhead and Atlas Shrugged, we can be wrong, and sometimes we should care.
There is the idea of the Golden Mean in greek philosophy: in the middle of excess and deficiency lies virtue. Too much courage leads to recklessness, and too little leads to cowardice. Somewhere in the middle lies true couragousness.
We shouldn’t fear failure so much as to destroy our hard work, nor should we throw caution to the wind and create things we may think are bad, because somewhere in the middle is where the true engineer lies.