logoalt Hacker News

__MatrixMan__yesterday at 2:44 PM9 repliesview on HN

I'm all for pushing back against "let's not make perfect the enemy of good." I hear that all the time in reference to software that is usually quite bad, and often a little evil to boot--nothing good anywhere in sight except some poor schmuck trying to find a way to make their job something worth taking pride in.

I'm not sure I agree that systems are products though. The product mindset is toxic. It means that you've got goals which are independent of the user's goals (typically to make money, which sometimes means doing something dastardly to the users on behalf of the shareholders).

All the best software is more in the "tool" category and less in the "product" category. Usually it's made by the users, only bothers with solving problems they have, and has no ulterior motives.


Replies

bchyesterday at 10:00 PM

> “let's not make perfect the enemy of good."

Nuanced, but I’ve heard “don’t let perfection be the enemy of completion”, which is real in the cases of not shipping because one is constantly polishing/perfecting, or, as I heard sitting beside phk[0] at BSDCan commenting on rejecting some environmental sensors into FreeBSD, something to the effect of “We need ‘good’, not ‘good enough’.”, which draws a line at accepting janky “solutions” that are architecturally weak, or otherwise look obviously problematic.

[0] https://people.freebsd.org/~phk/

show 1 reply
axusyesterday at 5:16 PM

Let's not make fixing bugs and backwards compatibility the enemy of shoveling out more features

show 1 reply
lazyasciiarttoday at 5:59 AM

That’s a nice thought, but who are the users who plan to write their own air traffic control tool?

socketclusteryesterday at 11:23 PM

Yes, agreed, that quote is not as relevant to software development. Some would make the case that software isn't good unless it's perfect. Engineers will use the word 'correct' (e.g. correctness); and by that, they mean; is it perfect... And it's not wrong to demand it because the smallest gap can be a critical security vulnerability.

stousetyesterday at 7:41 PM

The number of times I've heard that phrase used to justify shipping absolute crap utterly dwarfs the times it's been used to prevent over-engineering something that's already in a good state.

In a thirty year career of software engineering, I haven't once come across one of these mythical perfectionists that everyone is constantly retelling cautionary tales of, who endlessly rewrites perfectly serviceable software and never releases it. I have, however, worked at multiple companies that have collapsed under the weight of their unmaintainable spaghetti tech stacks.

show 3 replies
mtweakyesterday at 3:05 PM

I'm also wondering if "perfect" and "good enough" are not really as important now vs. when a team of software engineers had to spend sprints implementing features. The rate of iteration is faster now, the rate of regenerating entire code bases is days. We can perhaps over engineer /more/ today than before.

show 1 reply
BloodyIrontoday at 1:41 AM

So is a screwdriver a tool or a product?

I think you're getting caught up on nomenclature and limited sample sizes.

show 1 reply
dasil003yesterday at 3:14 PM

I get what you mean about the conflict of interest for consumer software, but I don’t think a product mindset is inherently toxic. It’s more a function of where you are in the enshittification cycle.

sublinearyesterday at 3:10 PM

You've definitely used non-toxic and thoughtful products or you wouldn't be making such a distinction.

You are throwing the baby out with the bathwater by retreating to "tools". If you want to stop the enshittification, this is not the way. You're just opening yourself up to new scams. i.e. AI tools, political agendas, etc.

Better products are just better. Demand them.

show 1 reply