82 comments

[ 3.7 ms ] story [ 125 ms ] thread
Hello all, OP here.

Don't hesitate to shoot any questions if you have any.

This blog is mostly oriented towards filmmakers, but the concept of perfecting vs completing can apply just as well to web or technical endeavors.

Have you struggled with perfectionism?
Thanks for posting this! Have you noticed a difference in people who are more accustomed to tapping into their flow state? Might be hard to get honest answers from people, I realize.
Is tapping into your flow state a similar thing to "being in the zone"?

In which case, it's hard to tell, since it is quite subconscious.

I'd be tempted to say that being in the zone (if that's what you mean, let me know if not) happens to people who allow themselves to be less self-conscious, to be less disturbed by their own ego. In which case it may help them create better or more focused work.

Although I realize I will probably give this a bit more thoughts, since that's interesting :)

>Is tapping into your flow state a similar thing to "being in the zone"?

Yep, exactly! I could see people who try to control things too much having a hard time getting into that state/zone and replacing it with a long cycle of fussing, but that's just how I imagine it might work. Thanks for the reply :^)

That actually makes me think about 2 things now:

1. Being in the zone is good, but you may be functioning mostly on instinct, so the more experience you have, the better results you ll get. By that I mean that it s where that thing called craft helps you. You then have some techniques that you can rely on, and not only your gut feelings.

2. While being in the zone, it's still good to jump out of it and criticize your own work (as in you always have to be your best critic). It s almost as if criticizing yourself should be a reflex, part of your instinct. Sometimes I imagine someone commenting what I do and me trying to defend my work. If I can't defend it well, that means I better look into :)

And I've mentioned that in another comment, but that applies to any work, whether it is considered creative or technical (knowing that there is a big overlap between those). As a person doing films and web app, my thinking is not very different from one to the other.

(Thanks to you for making me think about this)

>1. Being in the zone is good, but you may be functioning mostly on instinct, so the more experience you have, the better results you ll get. By that I mean that it s where that thing called craft helps you. You then have some techniques that you can rely on, and not only your gut feelings.

Absolutely! The work of creating comes in the preparation - on one's self and craft. It's like a boxer or mixed martial artist. The time in the ring is the payoff for all the hard work. It's also the moment of judgement for that work and talent. 2 Chainz says, Hard work beats talent, and I tend to agree.

>2. While being in the zone, it's still good to jump out of it and criticize your own work (as in you always have to be your best critic). It s almost as if criticizing yourself should be a reflex, part of your instinct. Sometimes I imagine someone commenting what I do and me trying to defend my work. If I can't defend it well, that means I better look into :)

For writing poetry, I've settled on something similar. I do think the medium affects the approach. There are times when I will write a page and a half in flow state and read it to realize I only like two lines, and I'll still feel it was time well spent. In visual arts, you can't really do this. Most of the time, I write in a flow state until something breaks the rhythm - typically the emotional/mental impact, rather than meter. When the rhythm breaks, I rewrite the part that works (physically, not editing) and attempt to take a different turn from that point. So, in the process of creating, for writing anyway, I think the editor should hang around just enough to shoo the creator onto the right path. The cutting room is a different story.

Really enjoy learning about the way you approach all this! Thanks! :^)

I have realized that my perfectionism is a mask for a fragile ego.
ha, that's not exactly what I mean in this post, I hope that's not what you would take away. (although you might just be sarcastic)

What leads us to perfect our work (and prevents us from shipping) is hopefully not an ego problem. It's just that we might be too eager to keep improving it, instead of enjoying the current state. It's just like the belief that adding yet another feature to an app will solve everything.

I believe that behavior is in the minority of people. Perfectionism is much more complex affliction than simply striving for perfection.
(comment deleted)
99% of the perfectionists I have had the misfortune to work with are just slow or out of their depth and are using the term as an emotional crutch. How much nicer it is to tell yourself that you are a perfectionist than you are just not very good at whatever you are doing.

The people that turn out near perfect work are usually the fastest and just get things done. It is a pity they are so rare.

> How much nicer it is to tell yourself that you are a perfectionist than you are just not very good at whatever you are doing.

By that logic, Steve Jobs should have never been good at what he was doing...

I'm sorry, but this notion of yours is kinda insulting to all the perfectionists that had the misfortune of living in a world that doesn't appreciate them.

While it is debatable if Steve Jobs was a perfectionist, even if he were all it would mean is he is one of the 1%.

It is more of a rant caused by me having to wait for the perfectionists to finish their third rate work so I can get on with mine :)

I'm not even sure Steve Jobs claimed to be a perfectionist. "Doing great work" might be more how he would have phrased it, as well as iterating on it.
It is also very different to have a high bar for your self vs for other people. Most people that would self-label as 'perfectionist' are referencing their own behavior, even if it happens to be masking procrastination or indecision. However, I find that this character trait is almost orthogonal to having high standards for others' work, which can instead be code for arrogance or impatience.
That's funny, most of the people I've worked with don't appreciate the value of slow, methodical, thorough work. They lack the ability to predict failure scenarios and predict how small changes will cascade in a system and cause undesired behavior. Therefore the time taken seems wasted to them when in fact they frequently don't understand.

There's room for both types of people in the world, but only one should call themselves an engineer.

Funny, I feel that I'm able to do this, to methodically work through a problem, addressing/exploring all relevant angles, mapping it out in it's entirety as much as possible. To identify potential risk and opportunity.

But I would call this: just my fucking job. Not perfectionism. But I realise also: I'm wrong. Tons of people are unable to do this and call this ability perfectionism, as if it's something bad.

You truly are a saint among men then :)
There is absolutely nothing wrong with slow, methodical and thorough work when the task calls for it. The problem is most self-described perfectionists are neither able to identify when it is needed, nor provide the corresponding quality when required.

Those that know do, those that don’t perfect.

I have definitely noticed that before, though I'm not sure that I'd prescribe the percentage as 99%. I have definitely seem some relatively poor things defended as "perfectionism".
And 99% of the agile scrummasters are just selfishly barking up the chain and their koolaid-drinking devotees use the "methodology" to justify shipping barely funcrional shit all the while disguising patches and bug fixes as "incremental value add".

But in all seriousness, I feel like it's a false dichotomy. You can be practical and still demand thoughtfulness and quality. It really kills me when people come to the conclusion that they're mutually exclusive.

Of course - that is why those that turn out great work tend to be fast and just get things done.

If you have skill and understanding of your goals you know exactly how much effort is required for each task and you can balance the competing priorities well.

I agree with this 'emotional crutch' sentiment.

Most of all, it seems that 'perfectionists' don't see that it is actually a derogatory term.

It means: you can't distinguish between what's important and what's unimportant, so you loose yourself in unimportant details and waste time.

99% of people who rant against perfectionism don't understand how wholly perfectionism takes over your thought process and that people who suffer from perfectionism are not characterized by "perfect" finished products, or even necessarily describing themselves as such. Rather, it can be a crippling subconscious mindset that inhibits productivity, creativity, and learning.

In other words, the "causes" you identify in your first sentence are actually the consequences of the affliction.

It of course is always difficult to separate cause from effect. It can be difficult to know if perfectionism is driving poor performance or if perfectionism is an emotional crutch to cover for poor performance, but based on my personal experience the crutch hypothesis is the most parsimonious.
I say that if you really were perfectionist you would deliver. If it's not delivered you can't really call it perfect.
That's a fine opinion, but it's ignorant of the entire body of CBT research.

And inasmuch as you merely disagree with it because you think it's the wrong term, well, that's even shakier ground, because the formal definition of language follows from its real-world usage.

> The people that turn out near perfect work are usually the fastest

The fastest results can be half cooked, when reduced time comes at the cost of shortcuts and trade offs taken. It's all the matter of balance.

I've noticed that people in many fields who are capable of fast, near perfect work often have had the opportunity to spend lots of time doing the same activities with the slow, methodical mind of a perfectionist. Some of them continue to do this throughout their careers, in the long stretches between the performance of fast, near perfect work.

I think it's a shame that we don't encourage something closer to that balance with professional software development.

They might be perfectionist otherwise they would probably have been fired long ago?
I think there is a very thin line between perfectionism and being insecure. For instance, a person with ADHD is prone to doing a lot of errors and overlooking obvious issues. One coping mechanism is to triple check whatever you do. Some people may have developed this strategy early on in their childhood and never realized.
Triple checking is fine to me. I do it plenty of times. But it certainly depends on how long this would require and what it is spent on.

For instance, I re-read my posts several times before publishing (and still wondering if I left typos). But for the design, I'm happy to leave things as a work in progress, knowing I will come back to it later.

It's all about choosing your battles.

I'm really skeptical of this attitude. In a lot of fields I've seen people who commit themselves to "just getting it done." The result is that they do get a lot of work done: and it's bad, it's mediocre, it doesn't have value. On the other hand, one can easily think of creators who spent a long time on one work (maybe "too much" time), and the result was work of lasting value.

Of course, this relates more to artistic work than technical matters. But I think it is damaging to act as if all work is equivalent to deadlined development work. Great things come from people being impractical.

> Great things come from people being impractical

Yes, but in my experience this is more an exception, compared to the vast majority of people who never ship anything, because "it's not quite right yet". That's where the danger lies.

And I think there are plenty of similarities between art and tech, regarding this.

For a web app, it will have to be shared before growing in quality and becoming great. Github, Basecamp, Twitter all did that. It's always about having a first released being a kick ass half or a half ass product (Getting Real was phrasing it like that if I recall correctly).

Same for a film. It might be released on a specific date to a wide audience, but it has gone through many iterations, discussed between dozens of people.

And just getting it done does not mean that you have to stop everything once your deadline has passed. If there is more work that you want to add to improve it, do it. But at least you've shared it as an intermediary stage, and you and your work have probably both grown from that. And you can now give yourself another deadline.

As someone who spent the first ten years of their career desperately trying to salvage one steaming heap of technical debt and security disasters after another, I think we have wildly diverging opinions of the consequences of software development driven primarily by just trying to get something committed and out there.

In my opinion, every single one of these companies was effectively a zombie: dead, but unaware of it.

Do I understand you right that Github, Basecamp, Twitter are or were zombies?

If that's what you are saying, I'd love you to elaborate, because I can't see how one could see this.

The companies I was referring to are the companies I had worked for in the past, that were saddled with irrecoverable technical debt as a result of “just ship it” with no regard to craftsmanship.
(comment deleted)
If history has anything to teach us, it's that being prolific in creating work is more successful than being a perfectionist. Alexandre Dumas didn't know he was creating a what's now considered a literary masterpiece when he wrote The Three Musketeers. It was just another of the many, many stories he wrote.
(comment deleted)
I'm an artist myself and I still think it applies. If I take a client they are going to want it done in a reasonable time frame. At some point I will have to make the call of "Good enough to ship."

But even when it comes to personal projects it's useless to work on the same project forever. Often that stunts growth (new pieces teach you new things) and it also makes you a lot less prolific. I've met so many artists who let the fear of not being perfect stop them from drawing much at all. They fidget over the same drawing for months and even when they finally finish it's because they give up, hate what they made and are sick of looking at it. Something they might have been passionate about is now a source of sadness and frustration to the point they don't want to do it anymore. There is no such thing as perfect. Even the best masterpieces in history had to be declared "finished" at some point.

Yes, I haven't mentioned that in the post, but that's definitely a good point. Our happiness or satisfaction will be very much linked to progress we make.

And since progress tend to be logarithmic (the last 20% taking 80% of the time), the last bit will be the least pleasant. So that's where we become less efficient.

Of course that doesn't mean either that we should stop when it gets hard. But being aware of this should help you decide if you should keep pushing or if it's time to take a break (which can be a few minutes or maybe weeks).

I think you’re missing a few things:

1. Many great artists were extremely prolific and created lots of mediocre work, we just forget about those. There seem to be very few perfectionists who just created a few great works, not “releasing” them until they were perfect. There are some, but they’re the exception.

2. You’re also not seeing all the many perfectionists who waited until things were perfect and then never finished at all, which is by far the biggest risk. I’d argue there are orders of magnitude more of these than perfectionists who ship perfect things.

I suspect that many of the “just get it done” people who do lots of bad or mediocre work will end up creating great things, you’re just catching them earlier in their learning / experimentation cycle. But those people will learn and adapt so much faster than the perfectionists will.

Sure. You need a balance, and creating flawed works is a part of the process--I wouldn't deny that. But creating work after work, for the sake of creating, doesn't necessarily lead to better work; going through the slow process of refinement, revision, and self-criticism, is necessary. There's a saying that music teachers often repeat, which is that practice doesn't maker perfect, practice makes permanent. You have to step back and think about what you're doing, and that does mean sacrificing "productivity," at least for a while.
>But creating work after work, for the sake of creating, doesn't necessarily lead to better work

I don't see anyone suggesting this.

Maybe paintings can't be "fixed" once they are done, but software can always be improved, refactored or even completely rewritten if it takes off. So it would make sense to do as many projects as possible and test which ones have the potential to go big, isn't it?

Obviously this doesn't apply to software that goes into medical equipment, planes etc that can harm people.

(comment deleted)
Obsessing over minutiae won't help you to see the bigger picture.

I think it's important to show your work early, in order that others can feedback. It's very easy to perfectly create something but to make some fundamental miss-step with the overall design.

   Obsessing over minutiae won't help you to see the bigger picture.
You can paint Get’er done people with that brush too. Efficiently producing wrong code helps nobody but yourself.

There are flavors of good engineering that allow the team to maintain velocity year over year. Too often those techniques get thrown under the perfectionism bus and then later the team blames “bad luck” [edit or ‘stupid people’ not them] for their failures.

This misinterprets what I'm saying. Which is: people that focus on perfection are too often working diligently on their own, sweating details which are unimportant to the quality of the outcome.

I frequently meet people that believe themselves to be 'perfectionists' but whom create poor quality work due to a reluctance to let other see their work before it is 'done'.

In order to get perfection, you need to be doing the right thing. In order to do the right thing, you cannot be working within a bubble.

Edit: I think everybody read things into what I said which weren't there. "Look an anti-perfectionist! He must be against quality work. Little does he realise that we can be faster by focusing on 'perfection'." This is true but you need to make sure that you are not adding finesse to the wrong solution!

So instead of being a perfectionist who might never see the end of their work, be a doist and never try to complete your work to begin with.

Yeah, I'm old enough to see how that works out on large timescales. No thanks.

Lately I've been doing tasks from easiest to hardest. I no longer seem like a perfectionist. Let me explain...

I used to do whatever I felt like, and typically, I was doing the hardest tasks first. I would leave the little stuff. "Oh that's easy, I can just do that at the end".

Creating social media accounts was the last thing on my TODO list. One day, I thought I'd apply Dave Ramseys "Pay off your debts smallest to largest" principle to my technical debts.

One of the first things I did was create social media accounts. And a bunch of other small stuff that was biting at me.

Another decision I made was to launch earler with fewer features. Why? Because many of the sample use cases (the simple ones), didn't need the more advanced features.

So, smallest to largest dictates that I must make the easy samples before I finish the advanced features. And, if I have samples, I can launch.

So, my perfectionism was a symptom, but the problem was my priority system: hardest to easiest, not easiest to hardest.

(Inevitably, someone will write about "do your hardest task in the morning when you have the most energy". Well, I freelance in the morning when I have the most will power, so this is moot. Doing tasks easiest to hardest gives the most accomplishments earliest [ more items checked off the todo list ], which provides positivity and motivation to keep going.

Imagine the scenario:

You have 3 hours to work, you do your hardest task, which takes 5 hours. You don't get it done, and think "omg I didn't finish and I still have 9 other things to do".

Or, you do your easiest tasks first. Most take 5-10 minutes. You finish 5 tasks in your 3 hour window, and think, Geez! I'm really productive today! I should keep working, so you work another 2 hours and get 6, 7, 8 done.

Momemtum is key. Doing easy tasks first creates success feelings that make you work longer. It also frees up mental space ( you no longer need to mentally track those tasks ).

Launch is almost always EASIER than the hard PERFECTION features that a perfectionist makes.

I do this! Snowball method for time instead of money.

Momentum is easily one of the the most powerful forces in my life, both good and bad, so I try hard to keep it working in my favor.

If I remember correctly, David Allen, of 'Getting Things Done' fame, makes a similar argument: if it can be done in 5 mins or less do it now rather than defer.

I've definitely noticed the benefit of this. On the other hand, small things add up and occasionally I've just got to tackle that 5 hour task.

Two minutes or less, but that's the basic idea.

GTD also recommends sorting next actions into contexts where, for example, you don't even think about computer tasks when a computer is not around. By the time an action hits a list, it should be reasonably small yet well defined, similar to Scrum backlog refinement.

Perhaps playing to the crowd, he also wrote[0]

The biggest procrastinators are usually the most sophisticated, sensitive, creative, and intelligent people.

Nailed you, did I? Well, I assume you’re in the sophisticated, creative, and intelligent category. That probably means you have large numbers of things stuck in your mind, in your briefcase, and on your desk about which things are not moving forward quite as consistently as they could be.

Major reason: the precise next physical visible activity (next action) has probably not been decided on the to-do’s. The bright people usually have some sort of reminders about their projects and things to do on lists, in piles, or lying around, so they won’t forget to think about their commitments. Bully. But every time they catch the briefest glimpse of any of them, they instantly race forward in their mind, rapidly and intelligently creating images of all the possible pieces that have to fit together and all the things that might have to be involved in getting them to happen and all the possible negative consequences if any one of them slips (and all the things that they might be forgetting in all this). Whew! Freaked themselves right out. I’d quit, too.

[0]: https://gettingthingsdone.com/2016/06/who-are-the-biggest-pr...

I find ordering tasks easiest to hardest can also be a trap - often you can go days or even weeks without working on your most important work. It is a kind of false productivity.

I managed to do this for about a year while working on my thesis. I finally realised I wasn't making any forward progress.

I find 1 or 2 quick tasks then straight to the most valuable work is a good way to get the momentum going.

Many of the most intelligent and capable people I know suffer from impostor syndrome to some degree. It can vary from worrying that you might not be as good as your peers, to being afraid to release something because you're worried it's not perfect yet, to a paralyzing inability to start, because you're stuck in a mental loop overthinking dependencies and prerequisites.

Smart people spend lots of time learning, thinking about things, and relying on their (often overactive) imaginations. It's not surprising that spending so much time in your own head can sometimes lead you astray.

A helpful response would be to reassure and encourage your peers. Point out when there's objective evidence that they are doing a good job, because they may not be able to see it on their own.

In this light, the attitude displayed by the current top level commenters is extremely disappointing [0,1]. Insinuating that your coworkers are slow or out of their depth in circumstances like these is counterproductive. IMHO, this "maybe you're just not good enough" attitude is one of the most toxic aspects of living in silicon valley and the bay area.

I am a perfectionist, and I know that I waste gobs of time over-analyzing absolutely everything [2]. I also know that my best work only happens when I force myself to set aside that perfectionism and just start. It doesn't matter if it's terrible, it doesn't matter if I picked the wrong library -- wasting more time over-analyzing everything never gets me anywhere, and leaves me feeling miserable at the end of the day.

I know, objectively, that this is the case, and yet I still hesitate to start big projects, and still attempt to use spreadsheets to plan the most trivial of things. It's not an easy habit to break, but it's absolutely worthwhile to keep trying. I owe a lot to the peers and managers who have helped me stay on track.

[0] https://news.ycombinator.com/item?id=16335156

[1] https://news.ycombinator.com/item?id=16334873

[2] https://xkcd.com/1952/

Definitely agree on that second one: “harhar, all perfectionists are making excuses for their lack of skill and keeping me from my brilliant work!!”

Not someone I’d want to work with, but I’m sure he’d think I’m too slow and stupid anyway :)

I am at my best when I don't really care too much about being good. Sadly this is hard to impossible to force.
I wouldn't say it's impossible. There are a few ways to fight this feeling.

First, try and understand why you care so much, if that excess of care is giving you too much pressure.

Maybe you care too much because that's your livelihood, and that prevents you from taking risks? In that case, try and shop for other jobs and maybe seeing what other options are available will make you be more relax.

Or maybe you care too much because the timing means you have only one shot at whatever you're working on? Then work beforehand on having more options. Or lowering the risk of your project failing. Think about a plan B, or C.

What I'm trying to say basically is that if you feel that you're at your best when you don't care too much, find ways to create that distance or relaxation. That might need some time, logistics, or introspection, but it's certainly worth it.

If you consider your work a 1.0 then you accept 'shortcomings'. It's important that you are able to deliver that 1.0 and that despite its shortcomings, it does what it was supposed to do and value is derived from it (in the broadest sense possible).

The real value is in knowing what is important and what is not. The real value is to be able to make sane tradeoffs within a particular context.

That is how to get things done.

Not surprisingly, repeating to yourself “it’s just your first draft” is one of the tools mentioned in the book The Now Habit, which treats procastination as a symptom of an anxiety problem possibly caused by a perfectionism complex. Other comments in this thread have also mentioned the book.
Can't really agree with most of that. I've found that the more experience I get, the more time I spend waiting for my brain to pattern match is way through problems; which might take several days. The trick is to be observant enough to notice when it gets stuck and take that as a cue that more empirical data is needed to get unstuck. As well as to stop pushing and wait for more pattern matching if the code starts drifting into la la land. Trusting the process, basically. I realize that might not work as well without 30 years of training. Which brings us to the problem with best practices in general; they are at best signs pointing in the right direction for someone at some point, but tend to be institutionalized as divine truth.
I think it may be too simple to say that perfectionism is bad. To me, it's one of two halves of the creative process. (At least in theoretical research, which is what I do, but I think this generalizes to other fields.)

You have one half where you need completely crazy and wild ideas, where it's vitally important to get started and not be paralyzed because you think that something is stupid or wrong or will not work. Here perfectionism is an enemy.

But you have the other half where you look at what you did and you try to figure out how good it is, and how it can be improved. Here, perfectionism is important because it's what will point out to you the flaws in what you have done so far.

I think the best work is created by iterating between these two mindsets. (It's even better if you can iterate with someone, where you go over what the other did until you converge.)

So I think perfectionism is something that can drive you to improve, as long as you retain the capacity to turn it off half the time, especially where you're trying to get started.

Absolutely. No extreme is ever good. Shipping and forgetting is a recipe to do mediocre work.

But I rarely witnessed that.

What I see very often, though, is people not feeling ready to share what they have. And I've been in countless conversations to urge people to fight this instinct (which I'm guilty of too often as well).

After studying and felt in love with machine learning, I think I have succeeded in analytically dealing with my perfectionism. In my case, I was always trying to achieve a local minimum with the cost of 0, and it was overfitting. I was more into integers and algebraic equality rather than floating-point numbers, analytic inequality, probability, and statistics. But after studying machine learning and the related stuff, somehow my mind changed and I now embrace the latter. What is important for me now is to visualize a cost, try to minimize for a general case, stop when passing a threshold, and carefully monitor the whole process. I can plot my current position or cost and see how it change over time and happily stop when things not go well, which I couldn't do in the past that harmed me.
90% of the functionality delivered now is better than 100% of it delivered never
"The Inner Game of Tennis" is a great read on this subject!
I think perfectionism can also be a crutch used as a weapon. The podium of perfectionism allows a moral high ground that is also an excuse to not engage with reality. The image is too pretty to soil.

Reality is engaged with only when you have secret tricks or hacks so that any game can be ended at will. When you engage in games as a gamemaster it is no longer a game, it is boring.

Executives use similar methods to create an image of perfection. This is actually good and necessary as their main function is to create games for others as a bubble while also siphoning value. Without the game, the master-slave dynamic is too raw.

Perfectionists are people who don't play games they don't think they can win. This can stifle learning, create aloofness, and make for a boring and meaningless life. At its core it is an illusion of the self having more control over reality than a human possibly can. It is a desire to be closer to God and so gives up some humanity. (which is necessarily imperfect)

Of course, when pushing or expanding the limits of humanity, pefectionism can sometimes be good. Shutting yourself in for a while can be very useful for creation. Learning is not necessary as the act is of the self, the raw knowledge being acquired already. Meaning is also not necessary because it is self-generating.

However to lock in that meaning, what is created must eventually be released and tested in the world. The 2 way interaction within a network is what creates larger meaning. Small releases are like small strategic bets. Big releases (perfectionism)are like going all in and hoping for the best.

"Perfectionists are people who don't play games they don't think they can win."

I think you defined the opposite of a gambler more than a perfectionist here. As in, most normal people.

Perfectionists are people who don't play a game they do not completely master. Also attempt to hide eons of practice and mistakes to appear saintly. This is a vast difference.