by Anand_S on 3/7/22, 4:02 PM with 127 comments
by simonw on 3/7/22, 4:40 PM
I also constantly remind myself that "perfect is the enemy of shipped".
A useful thing to remember is that you are the ONLY person that knows how beautiful the thing you were planning to build was going to be. What you've actually built is always going to be disappointing compared to the potential thing you had imagined.
No-one else has that context though. From someone else's perspective, you built a thing! If that thing is interesting or solves their problem, they couldn't care less what it would have been if it had matched your imagination of its full potential.
Most people never build or ship anything at all, so shipping itself is a big cause for celebration.
by WJW on 3/7/22, 4:34 PM
So when you feel perfectionism exerting its insidious pull on you, zoom out and remember that "it is not that important".
by gaze on 3/7/22, 5:15 PM
Finally, if you can help it, don’t work on projects that you can’t stay motivated for. If you’re doing a startup or research or something where the motivation is entirely internally generated, I think this is the way to do it. If you have a day job well, it’s way harder, and I empathize with you.
by arthurofbabylon on 3/7/22, 5:26 PM
by caffeine on 3/7/22, 6:31 PM
Then I say “What could I do in X weeks that I can actually ship and that is a real step toward the first Y % of my perfect vision” and I execute on that. I make sure that I am actually building part of my perfectionist vision, not some hacky garbage, but just limited in scope to be achievable in limited time.
Inevitably, along the way I realise my perfect was mostly wrong so this is an iterative process. I refine and repeat.
But your perfectionism is not wrong - use it to your advantage! Just make sure you are also a perfectionist about actually executing your ideas and shipping something.
by psychomugs on 3/7/22, 5:17 PM
The way I pull myself out of it, for any “medium,” whether it be art or technology, is that producing an artifact, no matter how imperfect or embarrassing, is better than a perfect idea that never makes it out of my head.
by sokoloff on 3/7/22, 4:51 PM
Having the combination of a place to put the ideas and then see progress (via the DONE- prefixes) was helpful to me in (partially) tackling rampant perfectionism.
As a concrete example, this weekend I was working on a tracker for my old boiler (a 1950s cast iron atmospheric with a single stage burner, fixed temp limits, simple relay-based bang/bang control system) to guide my selection for the new system this summer.
The system could lookup the outdoor temp, humidity, precipitation and temperature forecast, track the gas meter, calculate the reset target, tell when various zones are calling for heat, figure out how long the burner ran, intercept and proxy/rewrite the thermostat calls for heat, log data to Icinga/DynamoDB, have a Grafana dashboard, do anomaly detection, have a 7-segment display, have a web interface, speak MQTT, be queryable by Alexa, etc. But the first thing it needs is a temperature sensor for the boiler, so I made a long list, but worked on that first. (Then OTA updates so I could update it without disconnecting anything. Then on a web interface so I could avoid building any other interaction methods. Then an SVG graph of the last hour of data, then…) I find “my task for the next 20-30 minutes is clear” to be super helpful.
Screenshot: https://imgur.com/a/VM7nD74
by ISL on 3/7/22, 4:27 PM
(my own adaptation of Kelly Johnson's statement here: https://www.goodreads.com/work/quotes/97803-skunk-works (search for "wrong decision") )
by zwkrt on 3/7/22, 5:38 PM
To help you release yourself from this line of thinking it can be helpful to imagine how you interact with other peoples code that they release. I’m guessing that most of the time you get really excited about other peoples code. Even if you have critiques or would have done it a different way. I’m guessing that the overall feelings that you have when other people release working code, either on your team or in open source, are mostly positive. Try to realize that that’s how other people receive your code as well.
by deweller on 3/7/22, 4:38 PM
Us codependent personalities gain our sense of well-being based on what others think about us. So, everything has to be perfect because the prospect of rejection is very scary. I view a rejection of my work as a rejection of me to an exaggerated degree.
If this rings true to you, my advice is to find a good book on codependency or begin seeing a counselor and begin to understand yourself a little more.
by FearTheTrees on 3/7/22, 6:31 PM
Take on bigger risks and set bigger goals for yourself. When your pants are on fire, your brain will not care about whether your shoelaces are tied or untied.
FAANG stability and cushy salary does this to a lot of other people I know.
by blyry on 3/7/22, 5:49 PM
Yaknow what? He got 10x the amount of work done that I did.
'perfect' doesn't mean 'pure, clean, never needing to be rethought', 'perfect' to him meant 'meets requirements'. 99% of the time, none of his code ever needed to be touched again and if it did need to be touched..it was easy and rote to update because it was easy to understand and simple to modify.
less is more, but the 'less' applies to abstractions, not loc.
Just because you CAN take something to the next level, or iterate one more time till it feels right, doesn't mean you should or that there's value in doing so.
by throw1234651234 on 3/7/22, 4:29 PM
Nonetheless, maybe realizing that "perfectionism" is a misnomer, since it doesn't optimize resource use for resolution of the problem? Maybe realizing that you are being inefficient, wasteful, and taking comfort in simple polishing, rather than looking for a true solution?
In other words, "perfectionism" for me was always a way to be lazy and take comfort in a false sense of doing a better job.
As Newton would put it - A lazy person in motion, remains in motion, and a force of will is needed to re-assess and pivot.
A common misconception is that working hard is hard. I find that to be completely false. I can lift weights to exhaustion, polish a car hood to exhaustion and get every little spec out, work on code I perfectly understand endlessly, etc. It's much more difficult to actually observe, pivot, and do the right amount.
by alex-mohr on 3/7/22, 4:59 PM
Maybe the fear of actually doing something outweighs the costs of not doing it under the guise of making it better? Maybe something else?
I found Bezos's thoughts on decision making useful: understand if the decision is a two way door, and if so, move forward with 70% of the data you wish you had. Or 70% of the product, implementation, whatever.
See e.g. https://www.aboutamazon.com/news/company-news/2016-letter-to...
by senguidev on 3/7/22, 7:20 PM
Then lots of reading and experimenting. Related thread (and great article from a fellow perfectionist) « Unlearning Perfectionism » https://news.ycombinator.com/item?id=30223559
by YossarianFrPrez on 3/7/22, 6:11 PM
To whet your appetite, here is the opening line: "Many procrastinators do not realize that they are perfectionists, for the simple reason that they have never done anything perfectly, or even nearly so."
by pointlessone on 3/7/22, 7:52 PM
Software (like Art) is never finished, only abandoned.
by jimkleiber on 3/7/22, 6:05 PM
The bigger thing I see for myself is the fear of not having control. Not knowing in which direction things will go. I think this happens to me a lot in life, where i want to be able to predict and know what will happen. When i think of this in software, i can go into hyperdrive because of how quickly and far software can scale—the multiplier effect on any imperfections.
I don't really have an answer at this moment for his to deal with it...what came to me in the last few days is that I would rather be more present and less perfect. When i try to be perfect, i tend to close off and hide until a big reveal, and throughout that time I'm not showing up with myself or the things I've made. Conversely, if i focus on being more present, I can prioritize showing up over showing up with the perfect thing.
I thought about this in the context of posting photos of myself online and to friends. I've gained weight over the last few years and don't feel very confident in how I look right now. And yet, many times, I'm just happy to see my friends, regardless of how they look. Maybe I have an initial shock at how they've changed, but that can quickly fade into "but I'm glad to see them." So I imagine this may work with products as well: the initial "hmm, why does it look/function this way" changing into "but I'm at least glad it exists and I have access to it"
by slindsey on 3/7/22, 4:33 PM
by aaronblohowiak on 3/7/22, 4:54 PM
by devoutsalsa on 3/7/22, 5:24 PM
by spansoa on 3/7/22, 5:11 PM
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away
- Antoine de Saint-Exupéry
It's a great quote, and something to live by. When innovating, I iterate and build things piece by piece, often taking away more than I add.by cybadger on 3/7/22, 5:25 PM
One was getting focused on the purpose of my activity. I'm writing a letter to persuade X of Y. I'm writing documentation so users know how to do Z. I'm coding a module so the system can do W, which lets users do A and B. I'm patching this drywall so my house looks nicer. Then I can subvert whatever perfectionistic impulse comes my way. Maybe what I can do in the time I have, with the knowledge and skills I have isn't perfect, but it's better than what exists now. Maybe I can't write a full manual with screenshots, but I can at least create a Help page with a few bullet points--it's now better than it was, and that is progress toward achieving the purpose I set out after.
The other was having fun. Not necessarily at work or other tasks (I do have a friend that loves doing drywall; I do not feel the same!). But I found the more fun I had in life, the less hold perfectionism had on me. If I go throw a frisbee around with a friend, it doesn't matter if not every throw is perfect. It can be kind of fun to try goofy shots on a basketball court. What if I try playing a board game with a completely different strategy than usual? I might learn something, my friends or family might tease me, I might lose. Oh well. What if I try telling jokes and they fall flat? It wouldn't be the first time! Just having fun and enjoying the moment seems to keep me from focusing on myself, and that's a big part of it.
Come to think of it, being a parent (especially of small kids, because nothing is perfect in a house with small kids--wait, and older kids, because there's no way to keep older kids thinking you're perfect) helps too. And managing people (at work, or coaching a team, or coordinating volunteers), because in the practice of tolerating imperfections in others, I learned to tolerate them in myself, too.
And as I skim this over before posting, I realize that a lot of it is being less focused on myself. Easy to say. Tougher to do. And almost impossible to do when trying it.
by andersource on 3/7/22, 4:48 PM
by hinkley on 3/7/22, 5:38 PM
That is one of the most concrete lessons I've had on the consequences of continuing to fiddle with something instead of leaving it alone, observing, and planning for the next time it's appropriate to touch it. Most beginners end up loving their plants to death.
Since software is made by people, it has characteristics that could be seen as organic. You can kill it like a tree, or help it become what it wants to become with minor suggestions from you.
by daenz on 3/7/22, 4:59 PM
It's easier for me to put down perfectionism as long as I have a plan, or can see the plan, that I would use to move from the "good" solution to the "perfect" solution. Then I circle back to that plan when the problem needs more attention.
by JeanPierreK on 3/13/22, 5:17 PM
"Wabi-sabi" - perfection in imperfection...
This can be as easy or difficult as you choose it to be. It's seems to me like you could you use a small dose of tough love. So here goes... If you really believe you can be perfect, then you're delusional. However from the quality of your question I'd be willing to bet you're not, so that begs the question, why do you insist on torturing yourself?
If you're a sucker for a pain then keep on.
If you want to be happy however, why not start by realizing or accepting that perfection is not necessarily what you seek but the learning on the journey while we attempt to reach that perfection is the true experience here. Enjoy the ride brother, life's short, smile, be happy, appreciate what you have and keep on keeping on.
You will not reach perfection until you realize you must accept being perfectly imperfect. And when you reach that place where you see your Wabi-sabi you'll be good to go.
I hope this helped in some small way.
Sincerely, Jean-Pierre
p.s.- if you want, checkout your cortisol levels (stress), thyroid and overall health for stress markers as it could possibly lead to serious issues if left unattended. You can go to a blood lab without having to visit a doctor for a prescription, just go to www.PrivateMDlabs.com (full disclosure, I'm the ceo there).
by pier25 on 3/7/22, 5:31 PM
I first found the technique in the book The Artist's Way. Plenty of people have adopted it successfully to shut off the inner critic.
Basically the idea is you write a couple of pages every day without thinking about what you're writing. Something like stream of consciousness. If you don't know what to write just write "I don't know what to write" until something else pops up in your mind.
by makecheck on 3/8/22, 2:18 AM
Also, I found that I tend to perfect only the things that I work on alone. As soon as anyone else is involved, you have to start worrying about things like not making difficult merges, and most perfections fall into the category of “PITA merge”. That grand 50,000-line code-reformatting that someone did will not really help, it will just come up again and again across 4 branches that they didn’t know existed, as each person trips over the same things. And I guarantee there is at least one tiny bug in that reformat somewhere. So don’t do it; keep things as close to what they were before as possible, pretty or not, for as long as it lives, unless you can be absolutely sure that there won’t be other branches out there.
by fouc on 3/7/22, 4:34 PM
Usually the help is very simple, like "help me break down this larger ticket into smaller tasks". It might only take them 15 minutes to do this, and feel like you're wasting everyone's time, but getting past the blocker is more important ultimately.
by jostmey on 3/7/22, 4:52 PM
by arrosenberg on 3/7/22, 6:20 PM
by csw-001 on 3/7/22, 4:50 PM
I’ve found that sharing my work actively as it is being created helps. I write a lot of documents that get delivered to the end user or customer and I now tend to share them really early as an rough “sneak peek”… once they’ve seen it “ugly” as a early work-in-progress I tend to be able to let go of my tendency to over refine the final version. It really focuses my work around “what is needed to get this good enough to work for you?” This doesn’t work for all clients or in all situations, but it can be really effective when it does.
I also keep notes on “how I would make this perfect later” . I almost never return to those “// Improve Me” comments, but it somehow lifts the weight just to acknowledge that I saw a thing that I could improve, and walked anyway because I wanted to eat dinner with my family that night. I suppose it’s a bit like like productivity confession…
by mickduprez on 3/11/22, 10:19 PM
by mathgladiator on 3/7/22, 7:26 PM
This is a multidimensional problem, and the only way out is to find concrete measurable aspects. Focusing on things you can measure is important as "perfect" is a limit point which may not be achievable, and you my have hidden problems that don't get revealed.
My personal strategy is to make forward process on execution to get to some E2E point, and then the goal is how to drive optimization. The customer is there to help you understand what is good enough.
It's important to master this skill because it is easy to get stuck in the mud, and getting something perfect now may not be so great later on.
I struggle with it as well, and I've suffered other peoples' definitions of "good enough". However, that suffering allowed me to retire early and now I'm suffering myself as the customer. I'm a cruel customer...
by bradgessler on 3/7/22, 8:44 PM
If you look at the stacks we build everything on top of, it’s insanely brittle and barely works. We simply lie to ourselves that it’s otherwise so we can get out of bed in the morning actually ship something that’s useful to another human being.
If you don’t believe me, look at the organization or source code behind the black box you’ve built everything on. By some miracle it works, but barely.
I’ve found the best book that describes this is “The Systems Bible” — https://www.amazon.com/Systems-Bible-Beginners-Guide-Large/d...
You’ll chuckle as you read it and learn to embrace the miracle that anything works.
by Mezzie on 3/7/22, 7:10 PM
If I don't mess up, I can't fix it, and the world could really use more people who are willing to admit fault and work to repair mistakes. We all make them; I find lots of people with perfectionistic tendencies (myself included) hold ourselves to a much higher standard than others, so I just created a new impossible standard to meet that makes it possible to mess up, admit it, and move on. (Now the impossible standard is that I don't possess infinite grace about my mistakes, but...)
by davidbanham on 3/7/22, 9:05 PM
Perfectionism occurs due to a lack of information. You don’t know what “good enough” is so you err on the safe side. The more you put something in front of people and then talk to them about what they think the better calibrated you’ll be.
by daedalson on 3/8/22, 12:31 AM
Without knowing you personally, the strategy I suggest is to honestly think about what your perfectionism is. What's stopping you from stopping? "I need things to be perfect" is not an answer to this question, it's the smokescreen you throw up to stop yourself from asking harder, scarier questions about what this behavior is. Good luck!
by oxplot on 3/8/22, 2:43 AM
On a different note, perfectionism can be a symptom of procrastination. It requires much less will power to fine tune an existing thing, than it is to start something new or work through early steps. If this is the case, then apply the usual anti-procrastination techniques: vow to put X minutes a day into a project in order to make it a habit and get the ball rolling; identify obstacles that are creating friction; re-think the design and simplify; breakdown the task to make it less intimidating; etc.
by yumiris on 3/7/22, 6:46 PM
There are other things to consider: our attachment to other people's opinions, perceiving failure as a lesson and investment towards our success, knowing that perfect is the enemy of good, and so on. But that will naturally come when we remove our ego from our work and not give it power.
by avip on 3/7/22, 5:18 PM
by bluefirebrand on 3/7/22, 4:42 PM
I struggle with starting. I think I can't accomplish the perfect result I envision so I find myself paralyzed and unable to begin.
To help with that I remind myself of the Pareto principle. If I can accept that I may get MOST of the way to my goal on the smaller portion of my effort, I can usually get started.
The next struggle is finishing things, running into barriers and deciding to start over instead of overcoming them, or moving on to a different project. I don't currently have strategies for that unfortunately.
It's hard to break these mindsets and habits.
by didip on 3/7/22, 4:58 PM
After realizing this, I realized that I am so far away from perfect. I'll just do my best to make the architecture somewhat future proof without writing unnecessary code.
by ss48 on 3/7/22, 5:16 PM
Additionally, thinking about what else could be made improved or closer to perfect instead of what you are trying to do perfectly. What else could be improved? Is that more valuable? What would deteriorate in your pursuit of making something perfect?
It's hard, if not impossible, but at least worth considering.
by datavirtue on 3/7/22, 4:52 PM
by u2077 on 3/7/22, 7:30 PM
Does doing x save you time later?
Does doing x make you significantly more happy?
Will you regret spending time on x?
Does doing x help others?
Are there things more important than x that need to be done now?
by lmilcin on 3/7/22, 5:40 PM
There is enough people that are comfortable compromising on quality. I decided, rather than to fight it, to find for myself a niche where being perfectionist pays off.
by ratsimihah on 3/7/22, 4:39 PM
Not sure if that applies to your context but that's how I see it with building stuffs.
by mftb on 3/7/22, 6:16 PM
I empathize with perfectionism. I felt it strongly when I was young, and growing up with a family member consumed by it, I feel fortunate to have mostly left it behind a long time ago.
To answer OP's question, I sought out different goals.
by esel2k on 3/8/22, 6:47 PM
Some excerpts: - Don’t forget celebrating successes - 'done is better than perfect' - ‘if you're not embarrassed by the first iteration of your product, then you've shipped too late…’
by sevenf0ur on 3/7/22, 4:53 PM
by quaffapint on 3/7/22, 4:41 PM
As more and more is shared, I've seen my kids not want to try things simply because they see people doing the same thing amazingly well. The same people doing things so amazingly well don't necessarily share all the work and failures that went into getting there which is a shame and probably a better lesson then the end result.
by AlexDragusin on 3/7/22, 6:52 PM
Perfect the art of embracing the not perfect as being the perfection since perfection is ultimately a quantum state thus if you were to reach it, it will cease to be perfect.
Run this through your perfectionist mind and it should compile nicely.
by aogaili on 3/7/22, 7:16 PM
I also lived in an industrial farm while doing that project and I noticed many areas are incomplete and imperfect yet the farm is operational. It gave me a good metaphor on why large complex spaces will surely have imperfections everywhere, and it's okay.
by exabrial on 3/7/22, 6:13 PM
by 8note on 3/7/22, 8:41 PM
If you can wait for perfection, you probably don't need to build it at all, and so you've already got your perfect solution - nothing
by revskill on 3/8/22, 5:19 AM
It was my experience at most of my tech company where people rushed features with full of tech debt implementation.
Like a wise man said: think clearly before any action.
by eyelidlessness on 3/7/22, 6:25 PM
by kulikalov on 3/7/22, 6:18 PM
Apparently the relief to this struggle is either moderate expectation of oneself or the perfect results.
I guess it’s impossible to deliver perfect results in highly uncertain endeavors like entrepreneurship. But it’s very possible to deliver perfect results as a craftsman.
by Spartan222 on 3/8/22, 7:27 AM
It's also literally impossible to achieve perfection since you only approach the epsilon distance to perfection.
That's why smart people stay away from perfectionism, because wanting perfection is a mental illness.
by meken on 3/12/22, 5:01 AM
Exposure therapy can help.
So, practice intentionally shipping something with a missing feature, or intentionally getting rejected. Doing both of these things mindfully, noticing how uncomfortable it makes you feel.
by 0xbadcafebee on 3/7/22, 6:27 PM
by shoumma on 3/14/22, 9:32 AM
by openfuture on 3/7/22, 5:44 PM
by rapnie on 3/7/22, 6:47 PM
by sega_sai on 3/7/22, 5:45 PM
by stretchwithme on 3/7/22, 4:48 PM
We'd be a lot better off if we ditched the concept of perfection and go with "perpetual improvement' instead.
When you go to heaven, you reach a state of perpetual improvement. :-)
by dusted on 3/8/22, 7:15 AM
by brudgers on 3/7/22, 6:48 PM
by afarrell on 3/7/22, 4:49 PM
by adriangrigore on 3/7/22, 7:00 PM
by interstice on 3/7/22, 4:55 PM
In all seriousness though, shipping in order to eat is an amazing way to learn to balance done with “good enough that I won’t spend the next 3 months fixing bugs”
by danielmarkbruce on 3/7/22, 6:04 PM
by atum47 on 3/7/22, 6:44 PM
by Ocerge on 3/7/22, 4:40 PM
by sbmthakur on 3/7/22, 7:31 PM
* Consistency is more important than perfectionism
* Perfectionism doesn't matter in most of the fields. Just being close to perfect is enough.
by hughrr on 3/7/22, 5:00 PM
by mschaef on 3/7/22, 4:55 PM
by mcdws on 3/11/22, 12:47 PM
by karmakaze on 3/7/22, 8:41 PM
by mkranjec on 3/7/22, 8:48 PM
by CSDude on 3/7/22, 4:36 PM
by YeGoblynQueenne on 3/7/22, 4:46 PM
By being imperfect, I guess?
by oschvr on 3/7/22, 5:13 PM
by jonnycomputer on 3/7/22, 4:35 PM
by newsclues on 3/7/22, 5:16 PM
by joaofiliperocha on 3/11/22, 1:15 PM
by luisvieira on 3/11/22, 11:28 PM
by joelaaronseely on 3/7/22, 7:02 PM
by Mikeb85 on 3/7/22, 4:56 PM