Failure tends to strike at the worst possible moment, making it much harder to embrace it. This has led me to wonder: why do we fear failure so much? For starters, it makes us look bad. We tried our best, only to see our efforts crash and burn when demoing an app to prospective clients, for instance. But what we can learn from experiences like these is how failure acts as a valuable currency for self-improvement.
If we never failed, how would we know where to improve? How would we grow professionally? Or know what to watch out for in the future? Let’s start with some examples from pop culture where failure transformed into something good.
Doctor Strange
In Doctor Strange, our hero, Stephen Strange, is a doctor who never fails. He’s achieved this for one reason–he only takes on cases he knows he’ll win. His arrogance is apparent in the way he drives, too, with one fateful car accident severely injuring his hands, which renders him unable to perform delicate surgery.
Without spoiling too much, he sets out on a journey of self-discovery, learning that fear of failure is what keeps him from true greatness. He also becomes a powerful sorcerer, which is pretty good. The price of admission? Accepting and learning from his failure.
The Wolf of Wall Street
In this tale, our anti-hero, Jordan Belfort, lands a role as a stock trader on Wall Street, only to get on Black Monday. He pivots from Wall Street to less glamorous avenues, taking on a job at a penny stock shop, where he dazzles his peers with his pitch to a prospective client, asking him to judge him by his failures, rather than his successes, since he has so few. You see? A deft usage of failure to close a client who was initially hesitant.
Of course, Belfort eventually goes to prison–his greatest failure, you could say. And yet, Leonardo DiCaprio eventually plays him in a movie directed by Martin Scorsese. Sounds like silver lining to me!
My story
Before joining Testim, I worked at a few other companies where I never risked enough to truly fail. In moment when I could have taken on more responsibility, I was afraid that I would get fired or, worse, would lose the trust of my team. Instead of making the leap, I would opt for safety, even if the gig wasn’t the best fit for me.
When I joined Testim, I saw something a lot of developers only dream about – proper CI/CD flow, along with an amazing culture. One of the tools we have in our infrastructure is feature flags, which make altering the state of a feature easy. That said, I broke production a few times:
- The suite tests page did not work as expected when migrated from Angular to React. We fixed this by turning off a feature flag, making a quick PR with a fix, deploying to production, and then turning on the feature flag. This took about 90 minutes, mainly because of automated tests that check a complex system
- I broke a from in the panel property, which effectively blocked users from renaming step titles. But a quick PR, CI/CD, and deployment fixed this in short order
- One of our clients accidently deleted their step params. I created a migration script for them, but the script ended up breaking other stuff. We took an old DB backup, extracted the parameters, and helped the client restore the data. In a postmortem, the team collectively agreed that a migration script with huge client impact needs to be handled differently with extreme care
So as you can see, I’m not a perfect developer. I’ve made mistakes, and if there’s one key takeaway here, it’s to try to learn from your mistakes and avoid repeating them. Three years later, I’m still here, and as a team, every time we break something, we aim to get better through postmortems, E2E tests, and connecting live with each other over Slack to troubleshoot.
Don’t be afraid of failure. When you do fail, embrace it and learn from it!