The enemy of progress is perfectionism
Hours are spent agonizing over the most minute details. Questioning every decision and each line of code, thinking this rigorous process will lead to an infallible product. The problem with perfectionism is that perfectionists actually tend to achieve less and stress more than high achievers. In the digital age, where speed is everything, perfectionism isn’t only detrimental to health but can have severe consequences for business.
As a software developer, if I spent time trying to perfect every aspect of every project, nothing would ever come out of the pipeline. Deadlines would never be met. Managers would be furious. Clients would never want to conduct business with us. Even if we produced the most elegant solution the industry had ever seen, it wouldn’t be of any use because the market need would likely have been satisfied by a speedier competitor. If you struggle with perfectionism, here are three ways to combat the stress and unrealistically high expectations set for every project.
1. Rely on your project manager to identify priorities and deadlines
At Goat, we have multiple goals running simultaneously, often with competing deadlines. It can feel like everything needs to be done at once, which can incite panic, as there isn’t enough time to question every decision three-times over. One way to alleviate the pressure is to consult with a project manager. By assigning priority setting to them, you can focus only on the tasks at hand. (I find when clear objectives and achievable milestones are set, I can better manage my time and dial down ruminating thoughts.)
2. Don’t get stuck in the trap of second guessing yourself
“Could this have been done better? Am I using the right tools here? Maybe I should have done that instead.” These questions assume there is a right way to code a product, but software development isn’t a perfect science. There are often many ways to achieve the same result. Through mindfulness, I’ve shifted my perspective to focus on completing one task within a given time frame. As soon as I begin second-guessing myself, I take a break. After some time away (sometimes I take 5 minutes, other times it’s 30), I return to the task refocused. If I am still stuck, I request a code review (this makes it someone else’s problem for a while, a technique well-known in the software development world).
Second-guessing often stems from a fear of failure or the desire to meet impossibly high standards. By allotting a given amount of time to a specific task, you focus your mind on the job to be done, rather than wasting endless hours re-working something until it’s ‘perfect.’
3. Stop treating digital products like traditional ones
Changes to digital products can happen with the push of a button. In contrast, updates to physical ones are more challenging to manage without meticulous planning. Let’s compare a website to a physical painting to illustrate. If a bug slips through the cracks of development, review, testing, and quality assurance—it can be found, fixed, and deployed within minutes post-launch. Now imagine how much coordination it would take for an artist to add new brush strokes to their painting if it’s already up in a gallery.
Mistakes happen and cannot be easily fixed with digital products. Producing high-quality work should always be the priority, but the goal is not to get lured by perfection. Do our best, meet the deadlines, and relax, knowing we can fix ‘imperfections’ anytime.
The truth is, there is no such thing as perfect. What may be perfect for you is different for someone else. A finished product is better than no product at all – especially in our rapidly changing digital world. Remember:
“The enemy of progress is perfectionism”
If you need further assistance, use the free consultation button below to book a 60-min free professional consultation or reach us out with one of our social media.