Software development is not an easy job. Often there are mistakes that, despite our best efforts, cannot be eliminated. The more complex the problem, the easier it is to make mistakes. Sometimes it can be simple mistakes, a misunderstanding of expectations, and sometimes really embarrassing to recreate the issue.
I have often heard the phrase “learn from mistakes, and preferably from other people’s mistakes”. But have you wondered how mistakes are dealt with in school? Most often, mistakes are unacceptable, and children should avoid them. A wrong answer or a misunderstanding of expectations is punished in the form of a worse grade.
Now let’s look at our professional life. Especially when it comes to software development. Errors are problematic and should be avoided. They rarely show themselves as a cataclysm (apart from huge media conferences and unfulfilled expectations). We must realize that it is natural to make mistakes.
Anyone can make mistakes
Even the best programmers make mistakes. You will not deny it. Nobody is infallible. Problems happen and will happen in the future. Only the one who does nothing is not mistaken.
It doesn’t matter how good or experienced a programmer you are. Programming is a creative process where not everything always works correctly.
Murphy’s law
I think everyone is pointing to this law. The idea can be conveyed more or less as “Everything that can go wrong will go wrong”. It can often be a good excuse not to try at all. If it can go wrong, it will surely fail in a given situation.
Often, people don’t quite understand the idea of the Murphy’s law. We still have the option to prevent mistakes. Ensure that your code is well tested and prepare documentation that will help people who do not know business expectations. Do everything to reduce the chance of making a mistake. Ensure that the code is verified during code review, good tests are created, and the team analyzes everything. Thanks to this, you may eliminate most of the errors, and the rest will become easier to correct.
Don’t see mistakes as personal failures
I have the problem myself that I identify very much with the code that I prepare. Unfortunately, sometimes it is not flawless, which makes it necessary to introduce changes. It can be taken as a personal failure, as it has not been possible to deliver a fully valid code.
Follow good software development practices. Thanks to tests and code review, you can catch a lot and solve many problems before the code goes to production. Unfortunately, even this does not guarantee that we will eliminate everything.
It is much better to make mistakes but fix them quickly than to delay the development phase and not provide functionality. For a business, the ability to respond to requests is often crucial, rather than a great system delivered months too late (and no longer needed).
You cannot avoid all problems, and it’s statistically impossible. Make sure you can recover quickly and try to find them as earlier as possible. Each subsequent project improves your skills and allows you to create better code.
Don’t be afraid to make mistakes. They are an integral part of our life and work. However, it is important to minimize their impact and importance and react quickly to the most critical problems.