Everyone makes mistakes, and everyone hates making mistakes. Wouldn't life be better if we could make the right choice all the time?
How many times have you deployed something to production, just to realise that you missed testing that use case? You know the one. The one that breaks everything and your boss is above your head until you fix it.
How many times have you missed something important for the feature you're building?
When was the last time that your PR got a comment to fix so obvious that you thought "Oh god, I should have seen that"?
Well, it happens quite often to make you hate it.
Mistakes are essential tools to learn from
The old saying is correct, we need to make mistakes to get better. It is the faster way to learn if you think about it. The most immediate feedback is the production being broken, the PR comment is the fastest way to know what you messed up. Without them, you cannot get better. It is the best form of experience, the most effective.
The awful feeling is also part of the equation. You need it as a warning sign to act, so you avoid the mistake next time. It will stay in your memory for some time, to create the right triggers to be avoided in the future.
Mistakes are a terrific opportunity to show character
Your reaction to the mistakes is what matters the most. As a team lead, I always look to assist my team in fixing the problem. I also look out for people who stand up and accept the ownership of the mistake, along with the responsibility to fix it.
Grab the opportunity to show that you care about the quality of the system. Calculate the user impact and have the lessons learned in a document so other people learn from it. Try to improve the testing around that area or the processes related. At the end of the problem, you can be a superstar instead of feeling bad about it.
Mistakes are no reason to feel bad and lose your confidence
As mentioned above, making mistakes has a positive value. It is not all coloured dismal and ugly. There is a bright side to it, you just need to see it from a different perspective. With the right practice mistakes are something you want to do, and not to hate and avoid. Detach the emotions flooding you when it happens and see the real colour of it.
Mistakes are lessons that are going to stay for longer. They are lessons that will hit home and change you, you just have to embrace them.
Under the new perspective, you can adopt, and do not make mistakes anymore. You create an opportunity to learn and to grow. You get a chance to how great attributes and improve things around you.
A list of my mistakes (or at least the ones I can remember)
Deployed a JS function that was using a variable that was not always defined, I forgot to check if it was. The result was end users were not able to use the checkout page. Money was lost.
Autocomplete of inputs in forms changed the configuration of an App responsible for a core feature of the platform. I did not see that and saved these wrong values on the form. The website was down for several minutes.
I was working on a legacy codebase, the function, if it was a person, it would be the same height as Lebron James. At least 500 lines. I introduced a variable with the same name as an existing one (in PHP code). The result was for the platform to not send important emails to handers of users. Nonrecoverable
I am sure I can remember more if I try, but from all of the above, I learned my lessons. I owned them and it was appreciated. I changed how I test things and I take my time. I became better because of them, and now I can remember them with a smile on my face.
Share some of yours 🙂