Photo by Drew Beamer on Unsplash

Why Failure Is a Good Thing for Software Engineers

Flatiron School
Learn. Love. Code.
Published in
3 min readJul 22, 2019

--

Failure should be avoided at all costs because it means the end. You weren’t successful. You didn’t finish what you started. The result you wanted won’t happen. Right?

At least, that’s what we’ve been taught to accept. With that acceptance comes an incredible fear of failure. So much so that it could actually prevent us from even trying in the first place.

There is another option — one that, we believe, will lead to personal growth, satisfaction, and potentially, greater success. And that’s to embrace failure. To fail is to learn. And that’s a step toward progress and success.

Great leaders throughout history have used failure as the start of a path toward greatness. There’s a famous apocryphal quote attributed to Thomas Edison. Edison, in response to a reporter, said that he didn’t fail a 1,000 times before inventing the light bulb. It was just an invention that took 1,000 steps.

We can also turn to Maya Angelou for an incredible perspective on failure. Angelou says: “We may encounter many defeats, but we must not be defeated…that it may, in fact, be necessary to encounter defeats so we can know who the hell we are.”

Keep that in mind when you’re forging your own path.

And, when it comes to software engineering, failure is a good thing. In fact, it’s built into the very act of development. Failure is included in software engineering because your first attempt at something new is likely to fail. If it doesn’t work, you know there’s a problem in your code that needs to be fixed.

If you’ve ever coded, you’ve run into a bug. Sometimes it’s a typo that a quick review of the code will resolve. Or maybe it’s just a misunderstanding on how to call a given method — resolved with a quick Google and some cut-and-paste from a StackOverflow example. But sometimes it’s so much more.

Perhaps one of your libraries just updated in a way that’s incompatible with another library that you depend upon, or that update breaks reams of your legacy code. Sometimes you can find a work around, at other times you might need to fork the library to create a version that meets your needs. Very occasionally you may even need to go back to your business stakeholder and let them know that their “20 minute fix” is now going to be a two week long slog and it might be worth re-evaluating if it’s even worth building.

But, that comes with the territory of being a software developer. You embrace the idea that your code can, and will, fail. Bugs happen. It’s in that moment that you realize who you are, as a developer and as a person, and you grow from the experience.

You fail. You fall. You get up. You do it again. You succeed.

Avi Flombaum, our co-founder and CIO at Flatiron School, discusses his own experiences with failure with our students all the time. He says there’s nothing special to his success. He wasn’t a prodigy, he just worked harder and longer to get it right.

In speaking to one of our graduating classes at Flatiron School, he spoke on what failure actually means.

You’ll find that in your failures you are resilient. You are so much stronger than you know. You can heal. You can be redeemed. And as long as you can fail at doing something you don’t care about or hate, you might as well fail at doing something you love.

Failure is a good thing for a software engineer. It’s also a good thing for people, in general. “There is only one thing that makes a dream impossible to achieve: the fear of failure.” Paulo Coelho wrote in “The Alchemist.” The quote is representative of many quotes about the power that failure holds.

If you dream about something or love something, there comes the risk that you might fail. But that fear should never hold you back from doing what you love. After all, how can you make your dream a reality if you don’t try?

At Flatiron School, we believe that everyone is capable of great change. Our alumni and our current students are proof that you can succeed. Failure is just a hurdle that can be cleared with patience, hard work, and the support of an incredible community.

--

--