Hacker News new | past | comments | ask | show | jobs | submit login
Perfectionism is optimizing at the wrong scale (autodidacts.io)
112 points by Curiositry 6 months ago | hide | past | favorite | 41 comments



Arguing with something/someone by labeling it (too) perfect is a bit of a signal for me. Criticizing perfectionism is often just a lazy way to argue for one's side—usually to argue for doing less, but notably the less that doesn't matter to the arguer. Requesting more QA time, improving load times, getting one more feature in could be perfectionist, but have to argue against the particular thing not perfectionism.

The thing I most worry about using anti-perfectionism arguments is that it begs a vision in the first place—perfectionism requires an idea of what's perfect. Projects suffer from a lack of real hypotheses. Fine, just build. But if you're cutting something important to others by calling it too perfect, can you define the goal (not just the ingredients)? We tend to justify these things by saying, we'll iterate. Much like perfectionism can always be criticized, iteration can theoretically always make a thing better. Iteration is not vision and strategy, it's nearly the reverse, it hedges vision and strategy.

This is a slightly different point, but when we say we don't need this extra security or that UX performance, you're setting a ceiling on the people who are passionate about them. Those things really do have limits (no illusions!), but you're not just cutting corners, you're cutting specific corners. That's a company's culture. Being accused of perfectionism justifiably leads to upset that the company doesn't care about security or users. Yeah, maybe it's limited to this one project, but often not.

I agree with others that on a personal level, perfectionism is a lot of individual procrastination. I'm commenting a bit more about groups, but it might work quite well to look at the leader as procrastinating on strategy by calling downstream work perfectionist.


In practice, trying to satisfy everyone's target for perfection took forever and immediately after launch the vision of perfection was revealed to be incorrect anyway; this is the classic "waterfall" failure mode. It also (incorrectly) perceived the cost of delay to be zero.

If you are optimizing for something like "actual business value delivered over time" in most typical business contexts (maybe not SpaceX), you are better off putting a ceiling on everyone's idea of perfection, whether that's stakeholders, designers, devs, etc and focusing on launching quickly. From there, you can choose whether to continue to iterate, or move to something else, based on real world feedback.

It's not really being against perfectionism; there are just many projects and diminishing returns.


Right. Perfection can be the enemy of the good. It's that it's not a particularly a helpful critique. To use the article’s concept, it’s the wrong scale. It might be helpful to an individual in a performance review, but it doesn’t say why X is unnecessary in this project or at this company. Little is added to the discussion until I describe X relative to the goal.

Perfectionism is indeed good to avoid—it's basically defined as a bad thing by being "too". But the better conversation says how X falls short on certain measuring sticks. At the very least it actually engages X in the X discussion. Perfectionism is more of a critique of the person.

This takes work, which is why it tends to signal lazy dismissive arguments. It takes effort to understand the person's idea enough to engage it, but more importantly it takes work that was supposed to (but might not) have gone into developing good projects or goals in the first place. Projects well-formed enough to create constraints for themselves.


Similarly, it’s helpful to remember that “high level” rhymes with lie level.


Makes me think of one of the Akin's Laws of Spacecraft Design:

6. (Mar's Law) Everything is linear if plotted log-log with a fat magic marker.

It's all fine in context, but things go wrong if you only look at that high-level view and then step back down to low-level: you may think you've done something useful, but you mostly just threw away the high-frequency components, i.e. the important bits of the signal. Your view gets blurred and unrefined (literally, in case of dropping the high frequencies of an image).


I agree with the thesis of this article but I actually think the point would be better made if we switch from talking about optimizing to talking about satisficing[1].

Simply put, satisficing is searching for a solution that meets a particular threshold for acceptability, and then stopping. My personal high-level strategy for success is one of continual iterative satisficing. The iterative part means that once I have met an acceptability criterion, I am free to either move on to something else, or raise my bar for acceptability and search again. I never worry about whether a solution is optimal, though, only if it is good enough.

I think that this is what many people are really doing when they say they are "optimizing", but using the term "optimzing" leads to confusion, because satisficing solutions are by definition non-optimal (except by luck), and some people (especially the young, in my experience) seem to feel compelled to actually optimize, leading to unnecessary perfectionism.

[1] https://en.wikipedia.org/wiki/Satisficing

ps — Re-reading that wikipedia article reminds me of how often the topics that make the front page as "new" thoughts have been studied and written about in detail by thinkers of the past. Herbert Simon's Bounded Rationality has a lot to say about the toping of the original link.


What a terrible word.

Seems like it's for people who like to kick the can down the road and convince themselves they're doing something good and 'out of the box'


Instead of being so hostile toward a word that you've just encountered, how would it be if we were more curious about the concept behind it?

Satisficing is a form of constraint satisfaction under certainty, which although leads to local optima, can turn out to be more robust to unknowns.

Optimization assumes a correct model of the world, and that we can find a point within that model that gives us the best trade-offs (optimum).

But our models of the world are often incomplete or wrong. And even if we get to that optimum point, we back ourselves into a corner if the environment ever changes on us.

Instead, iteratively finding a satisfactory solutions that helps us make progress in the right direction is often far more valuable, and more robust to model mismatches to the real world.


That totally describes Herb Simon, for sure.


Living is just kicking the can down the road for a while until you can't anymore.


>> What a terrible word.

I agree. It's truly cromulent.


Perfectionism is sort of polarizing, and a lot of product manager / CEO types see it as the enemy. In certain contexts it might be, but in others “perfectionism” translates to “building the foundation flawlessly with the downstream dependencies in mind to minimize future tech debt.” Of course, a lot of managers prefer to pretend that tech debt doesn’t exist but that’s just because they don’t think they can pay it off in time before their team gets cut for not producing any value because they were so busy paying off tech debt. That’s why it’s critical to try to minimize it in the first place, which almost never happens because engineers are held to tight launch deadlines and sacrifices are made in the process. And this is not just a problem at startups, if anything it’s a bigger problem in BigTech™ where I have the privilege of cleaning up after messes that were made over a decade ago.


“Perfectionism is sort of polarizing, and a lot of product manager / CEO types see it as the enemy.” And it definitely shows. In the software world low quality is almost a given now. CEOs rush things out so they can start making money as soon as possible only for the product to be unstable and hated by the users it was forced upon.

Recall just got Recalled probably because Nadella said “we’ll iterate.”

Would DOOM be the same game if Carmack et al were told to rush things, cut corners, and iterate?

I see programming as an art, and art takes time. It doesn’t conform to deadlines and sprints.

From what I’ve heard it works differently in Japan. They take their time to get things right the first time.


Personally I think the short term thinking pervading the American corporate world is nothing short of delusional. I’ve heard similar things about Japan, their woodworking is world class in its precision and simplistic brilliance.


This article argues against an utterly strawman form of perfectionism that almost no perfectionist exhibits.

The details that perfectionists are concerned with almost always matter, just maybe not much or not in a contextually appropriate way.

Obsession with details that matter can still be counterproductive and unhealthy.

The difference between a $1000 watch, $10,000 watch and $100,000 watch matters. It's counterproductive if you're in charge of producing $1000 watches to try to put in the same effort and fuss as if you were making $100,000 watches, while the revenue per unit stays pegged at $1000. It's not counterproductive if you're asking $100,000. That's just a contextual difference; all watches are objects on the same scale.


The equivalent thought process is: you can’t optimize for both the whole system and each subsystem at the same time. If you optimize for one, the other will suffer.

This is why even the best companies have in parts chaotic internal sub-structures and teams.


The modern world has driven cost/benefit thinking into every single dimension of creation and production - of physical goods, services, software, entertainment, and even art and music. The “artist’s statement” that sits on the wall has cut out the critic - the artist wrote it - and cut out the audience - they tell you what their art is, you can no longer think for yourself. And people lap it up because to do less would not be “engaging” in an optimal way.

“Optimizing” is shorthand for finding that n-dimensional envelope, with no regard to what lies nearby.

Turns out that the natural world, and most people, operate best in scenarios with slop, give, slack, buffer, or whatever term you want to use. That is the humane way to function.


Good-enough seems to be the sweet spot. After that I think you run into diminishing returns.


Especially if you're inventing Lithium batteries.


90% of the time "perfectionism" is pure procrastination. Being self-aware of this fact is a requirement for shipping anything of value.


I'm not sure to follow. Do you think procrastinating is a better way to reach perfection ? or do you think working too much is equivalent to procrastination (aka a defect) ?


People with obsessive tendencies may believe (less than consciously) that avoiding mistakes is the only way they can be loved but that it is okay because they can become perfect 'eventually' with enough work. Finishing a project induces anxiety because it means admitting (to themselves) that it is the best they can do. On team projects this may manifest as hostility towards declaring anything done, criticism of acceptable work of teammates as shoddy, excessive work hours, not finishing things they work on, constantly blowing past deadlines, preoccupation with organizational tools and techniques, etc.

It seems like it is about logic, rationality, being optimal, etc., at the surface, but it is fundamentally an emotional reaction (fear) accentuated by a blindspot as to how their emotions affect them. People with these tendencies frequently declare that they are completely rational and not at all driven by emotion, which is due to the blindspot (often denial to maintain the fantasy of becoming perfect so that they can be loved).

In short, if children are only loved in highly conditional ways they may learn that they have to be good enough to be loved, and as adults not get anything done because the terror of not being good enough means they cannot accept their own work as good enough.


There are other factors at play to be honest.

You live through education system that requires you to perform.

You dont get a dev job just because you showed up. You get tested, even after long hard studies.

So obviously you're shaped for achieving high.

I'd add that some people also thrive under duress. It personally love challenges, so perfectionism is a small step.

So what should we do in this field? Coast along and avoid any complexity?

Coming from min wage jobs you also struggle to reconciliate those facts.


As a more “psychological” take, yes this rings true, too. Academic overachievers (I count myself among them, FWIW) are especially prone to this because they condition their self esteem on their ability to “succeed”. It’s a lot harder to succeed at things where you are less confident.


"Perfectionism" can be just an excuse for avoidant behavior. I'm going to focus on this thing until its perfect. Does it need to be perfect? No, but I enjoy fiddling with this one thing and don't want to think about this other pile of work that's less fun to engage with.


There’s no goal in this case to “reach perfection” on the whole. One just focuses on the stuff they’re good at and find easy to do at the expense of necessarily, but perhaps more difficult and less pleasant work. I’ve been guilty of this. And I will be guilty of this in the future I’m sure. It just helps to be self aware or it could get way out of hand.


Oh I see, I partially agree. You can yak shave forever, until you find another thing to yak shave. It takes some maturity to balance this and avoid disrupting the project because you optimized non important stuff.

I even had a strange lesson. In a team of three, the smartest did try to improve everything and never finished so his contributions were mostly wasted. While the weakest programmer, but one who would focus on solving some tickets in very low quality ways managed to feel less harmful to the team overall.


Every time the topic of perfectionism comes up, a lot of people come out of the woodwork with a weird fetish for arguing that the psychological establishment is using the term wrong. To what end, I'm not sure.


Not sure you can talk about perfectionism without clarifying between "healthy" perfectionism and "unhealthy" perfectionism.

Both exist, but often people are thinking of one or the other when discussing perfectionism, and it creates cognitive dissonance when two people thinking of the two different modes are singing perfectionism's praises or denouncing its practice.


First decide on what your overall goal is and use that to determine how much you should work or not work on something.

For example if your goal is to make as much money as possible, your efforts might change vs a goal of impressing your manager or getting a particular project done.


looking at these comments, it seems perfectionism is ill-defined.

it seems to be positive - perfectionism is not giving up, it is excellence, it is beyond mediocre.

it also seems to be negative - it is going too far, it is avoiding/procrastinating, it is self-defeating.

I wonder what the perfect definition would be?


The article which causes HN to hurriedly redefine perfectionism, thus solving the problem . . .


Perfectionism is what leads to good results. Many people who aim directly for good enough come short.


"Perfectionism" is just avoidance. You don't want to work on something because it won't be "good enough". The keep part there is: you dont want to work on something.

Avoidance has a approach/repel dynamic. You are attracted to it because you want the reward, but repelled by it because you think it's difficult. "Don't spare the rod" parenting, beats children until they stop avoiding things (ie., an approach-side policy: encourage approach). You can also break tasks down, make them less core to your identity, rewards etc. (repl-side policy: make it less repulsive).

A lot of people try the approach-side policies, and beat themselves up, etc. which works sometimes but not always. "Perfectionism" is often caused when people beat themselves up to do something thereby making that very thing seem even more difficult/essential/important/etc. which makes it even more repulsive.

"Perfection" is the propaganda of a mind doing everything it can to avoid a task, often also caused, by pathological demand avoidance wherein avoidance can become extremely elaborate in justification to the point of apparent delusion.

Ignore all this superficial language. The heart of the behaviour is in what isnt being done; that's the truth of what's going on.


> "Perfectionism" is just avoidance. You don't want to work on something because it won't be "good enough". The keep part there is: you dont want to work on something.

Everybody talking about perfectionism is trying to explain to you that this is not true. Perfectionists have anxiety about delivering things, and will often avoid extremely easy work in order to do harder things. I'd almost say that's the defining characteristic; you'll see a lot of things that are 95% completed, and instead of finishing and delivering, they'll switch to learning ancient Greek (edit: or add a bunch of "necessary" complications that balloon that 5% into infinity.)

Go through a perfectionist's projects, find one that's close to deliverable with a few finishing touches. They will try to keep you away from it (they may even pick a fight with you), they will hide it from you, they'll tell you it's terrible, they may try to destroy it, and if you manage to pry it away and finish it, they'll beg you to take their name off of it. They will do this to the point of emotional manipulation and open threats.

The avoidance of the task isn't the cause, it's the only symptom.

> Ignore all this superficial language. The heart of the behaviour is in what isnt being done; that's the truth of what's going on.

Perfectionism has absolutely fuck-all to do with the specific task. Perfectionists like working on things, which is why they're constantly doing it.


Well said. I've been reading through the comments looking for this nuance and I think you're the only one (so far) that hit the nail on the head.


>"Perfectionism" is just avoidance.

And this is an absolute that isn't true.


Perfectionism in this context of task-based perfectionist behaviour.

If you mean the broad category of maladaptive behaviour called perfectionism, see, eg., https://en.wikipedia.org/wiki/Perfectionism_(psychology) -- where, when applied to tasks, it has the dynamics i've described.

> Perfectionism can be damaging. It can take the form of procrastination when used to postpone tasks and self-deprecation when used to excuse poor performance or to seek sympathy and affirmation from other people. These, together or separate, are self-handicapping strategies perfectionists may use to protect their sense of self-competence.[44][45] In general, perfectionists feel constant pressure to meet their high expectations, which creates cognitive dissonance when expectations cannot be met.


> "Don't spare the rod" parenting, beats children until they stop avoiding things (ie., an approach-side policy: encourage approach).

Unless the "don't spare the rod" parenting is beating the children over substandard quality, or something other than the one specific aspect you chose to highlight.


Perfectionism isn't about quality, that's the illusion: it isn't anyone sincerely trying to make something perfect. Depending on the type, it can be about control; or on tasks, as with this article, it's typically just a disguise for avoidance.

It doesnt make sense to argue with a perfectionist about how to make something perfect. That completely misses the point. They have no interest in making it perfect, nor any notion of what it being perfect would even be like. In the vast majority of cases, it's avoidance.

In any case, when people beat their children it is because they aren't doing what they "are supposed to do" and is very much connected with perfectionism. Children grow up worried to fail to meet some parental standard. When they apply this beating-themseleves-up means of self-motivation to some tasks this can cause avoidance, because the tasks spiral into ever more delusional levels of importance and difficulty.

The solution to this sort of perfectionism is emotional. It is engaging with what a person is afraid of, what's causing their avoidance, what part of them is being "triggered" by the task, and working backwards from a completed state, etc.

A perfectionist, in many ways, wants to argue about how to perfect a task; this just enables more avoidance; and indeed, confirms their fears.


Agree 100%, if you want to make your kids avoidant, yelling at them and beating them is a great way to do that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: