We are not perfect, and neither is the software
There are certain careers where being a perfectionist is a must-have trait. However, software development is not necessarily one of them. Unless you are dealing with life and death applications, being a perfectionist induces some downsides that you should be beware of. In our profession being a perfectionist could in fact be a reason for the hinderance to the success of our project, while negatively affecting our health and relationships. This is especially the case when being a perfectionist becomes an obsession.
If you are wondering whether you are a perfectionist or not, there is a good chance that you are. As IT professionals we tend to set high bars for ourselves and put our best effort to achieve them. Our passion for excellence drives us to run the extra mile, nonstop. We dedicate numerous of additional hours to our work to maintain our high personal standards. And this is usually a good thing, isn’t it? After all, the constant hunger for improvement, and ensuring everything we do is absolutely perfect, will surely make any company desperate to hire us. Furthermore, this passion will also ultimately lead to a long, successful career. Don’t you agree? In my opinion; no, not necessarily.
Perfectionism is a complex concept, much more than what many people assume. As ironic as it might sound, a high level of perfectionism prevents us from being our best as we begin to set unrealistic standards and let the fear of failure hold us back. This form of perfection is by psychologists referred to as maladaptive perfectionism. Due to the fear of making this blog into a psychology lecture, we wont dig into the definition that extensively here. However, people in this group will tend to criticize themselves when they don’t meet their own standards. In addition, they are quite vulnerable to develop depression, anxiety, and increased levels of stress.
Workwise this introduce a set of challenges, such as:
- Tends to have an “all or nothing” mentality
- Prone to becoming victims of procrastinations
- Any mistakes are regarded as character flaws
- Tends to miss the bigger picture
So how do we cope with this? Luckily the answer of overcoming perfectionism doesn’t mean giving up on getting better. Perfectionism doesn’t have to be the enemy. If you are a perfectionist, you can use it to help you be better at what you do. However, there is a time and a place for it, and it’s important to learn strategies to start overcoming perfectionism when it becomes an obsession.
As a part of the modern workforce we have to, more often than not, switch between tasks or work on multiple projects simultaneously. There comes a point in any software development cycle where a release must be pushed out despite it not being fully developed and/or tested. And that is fine. Sometimes a hot fix or a manual error handling is a better suited option than delaying the production date of the application. Releasing something good enough, but not perfect, allows us to get feedback earlier and start profiting from the application/product sooner. Further, it enables us to reevaluate in which areas we should invest our limited resources into.
In my opinion, perfect software does not exist. And bugs are not a sign of bad quality. They are in fact inevitable. What matters is how we as a team deal with them and proceed to work. We all do mistakes. High-quality software means that we can recover faster from them, and, are able to handle failure in a proper manner.
What I am trying to say, is that we don’t need to be perfectionists to excel in our profession. It is allowed to say no to colleagues or superiors, when we have a lot on our plate. We are not supposed to be good at everything. In fact, rather suggest whom it can be delegated to. It is a team and not an individual delivery after all, so use the talented team around you. It is a reason for why they are there. Don’t see delegation, and saying no, as a flaw. It adds value and productivity overall for the project. It prevents you from becoming the bottleneck.
Having high standards and succeeding is what we all should strive to in our work, but when our perfectionist traits become damaging, it can impact negatively on ourselves and our colleagues. Recognizing these traits is the first step to turning them into assets, because change is possible. Play on each other’s strength and be okay with mistakes as a team. After all we are not perfect, and neither is the software.
About Shiv Jeet Rai
Shiv Jeet is a strong engineering professional with knowledge about how to model, design and control various of complex dynamical systems used within applications in shipping and offshore, automotive and aviation industry. He is a technical consultant with a demonstrated history of working in the finance and the automotive industry. He has good experience with having different test hats and has been working in roles such as test coordinator, technical tester, SW/HW Engineer, test analyst and RPA developer. He has good business and process understanding and is now an indispensable asset to his current client in terms of solution design, training of resources, test data generation, test coordination of teams and running acceptance tests together with the business.
More on Shiv Jeet Rai.