Developers: Drop Your Perfectionism

By Piotr Gaczkowski, IOD Expert

There are a few parallels one can draw between folks in IT and musicians or other artists. Paul Graham addressed some of them in his famous book, Hackers & Painters. For instance, both groups create something out of (seemingly) nothing; we leave a trace of our personality in our creations; and we often strive for perfectionism.

The difference between those who make art and those who make code lies mainly in the products we develop and the audiences we create for. A musical composition or a painting is valued mostly for its aesthetics. IT professionals, however, usually operate in a business environment, where working as long as necessary so your art reaches “perfection” is a luxury. We often have strict deadlines to meet and a budget to adhere to. Also, we work in teams. To allow for easy collaboration, we need to take some shortcuts.

Yet, many engineers I know fall prey to perfectionism. We’d love to be remembered by the beautiful products we created and smart choices we made during developing them. But perfectionism often leads to procrastination, and worse, paralysis. In order to survive in the market, we need to be aware of our perfectionist leanings, and consider the benefits of taking a different approach.

Hacking All the Way

You know what a hacker is, right? No, not the guy in cool shades watching random characters popping up on his display that finally assemble into a password granting access to thousands of bank accounts. That’s Hollywood. True hacker culture revolves around finding the minimal viable means of delivering a meaningful experience to the customer. It encompasses various ideas such as a Do-It-Yourself approach, laziness, or out-of-the-box thinking.

This minimalism can manifest itself in various ways: smallest codebase, lowest budget, or quickest time-to-market. The best example of the smallest codebase is Perl golf. Golfers compete against each other in order to present the shortest Perl script that produces the desired results. Lowest budget usually means repurposing existing products and solutions in unorthodox ways. Your car stereo broke? You can either try to repair it, replace it, or simply install a spare Bluetooth speaker in a coffee-holder. Finally, quickest time-to-market means reusing existing resources with just enough “glue” to make an added value attractive to potential customers. (Take a dry bag, for instance, make the internal surface bumpy, and add a see-through window to it. What do you get? A portable washing machine, of course!)


IOD is a content creation and research company working with some of the top names in IT.

The author of this post is one of our senior experts. You can be too!  JOIN US.


Huge Impact for Huge Improvement

A hacker’s approach is often the opposite of perfectionism. Hackers aim to put in only as much work as is needed to show results to the public. Does the final product look beautiful? Rarely. Will it always work? No. But it doesn’t need to look pretty, nor work every single time. The first iteration is there only to check how the market responds. It is also known as a Minimum Viable Product (or MVP) for short. You know Karl Benz’s Patent Motorwagen? It may not look as sophisticated as some carriages from that era but it sure did the job! Further improvements to the idea led to the luxury and comfort of today’s cars.

You can observe similar patterns in other branches of business. It’s not only contained to developing prototypes. Imagine developing a webapp. You can make the most beautiful webapp on the market, but this will take some time. In the meantime, you may miss the deadline and your client will then refuse to pay. Not a great situation to be in, right?

Instead imagine yourself quickly sketching the most basic user interaction, implementing the logic, and showing the simple, but working MVP to your client. She may not like the crude interface, but since the product already does what’s expected, you can propose to spend a little more time and budget to make it more beautiful (potentially even resulting in a higher payment to you or your firm.) The outcome may or may not reach your definition of perfection, but there are positive outcomes this time. You got paid, you delivered on time, and you gained experience that may help you stretch even further the next time you try for your Magnum Opus.

Don’t Bury Your Ideals

You might think reading the above that I value revenue much more than I do aesthetics. But this is not true. Like most people I know, I take pride in what I do. I’d love all of my creations to be as beautiful as possible. I spend time educating myself in an effort to improve my skills, which is then — hopefully — reflected in the products I create. And yes, similar to some of you, I still fall prey to perfectionism and associated procrastination.

But when you are aware of your tendencies toward perfectionism, you can choose to act otherwise. You don’t have to choose the perfectionist route every single time. A minimalist approach might actually be the better bet in some cases. Rethink the problem you are facing right now. Then, ask yourself if a hacking approach might help you move forward without compromising too much on your own ideals.

 

Piotr Gaczkowski
IOD Expert
Piotr is an automation enthusiast who aims to replace all repeatable tasks with code. He exercises his urges working as a DevOps Enforcement Agent. Never without headphones around.
Hire this expert
Join IOD

IOD is a content creation and research company working with some of the top names in IT.

Our philosophy is experts are not writers and writers are not experts, so we pair tech experts with experienced editors to produce high quality, deeply technical content.

The author of this post is one of our top experts. You can be too! Join us.

Join Us
Logout