Hacker News new | ask | show | jobs
by nonrandomstring 1284 days ago
Except for one, all of the above are good bits of wisdom, not reinventing wheels, using the right tool for the job, reuse of libraries, quick time to user - to get feedback. All great engineering - whether you are building for the masses or just yourself to scratch an itch.

But one that cuts to the core of a deep problem in computing and sticks out to me is;

   "customers don't care about X"
That's so broken it's not even wrong. It's a just profoundly ignorant and arrogant misunderstanding of the world and what we do as programmers.

Developers have never known what customers want. Customers don't know what customers want. Because software is not a supply-demand business based on reasonable a-priori expressed preferences. It never has been.

For the most-part people accept what they get and define their understanding of technology and its possibilities accordingly. The limits of their horizons are arbitrary, the product of fumbling evolution, fads and fashions, science-fiction and fantasies, endless copying and reconfiguration of features, educational pre-requisites to access and understanding - and all happening within a rapidly changing world of social and hardware change.

The conceit of the programmer as a "master-chef", lovingly creating a dish to the exact delectation of a discerning customer is nonsense, and I have always taken pronouncements about "what customers want" to be naive, grandiose and out of touch.

2 comments

Indeed, customers don't care about any of the details that go into the solutions we provide. Except the one that faces them: the UI (and related UX.)
Right? You could theoretically/evilly create a whole guide to "how to change a customer's mind on what they want."
It's worth reading some of BJ Fogg, oft painted as an "evil genius" singlehandedly responsible for digital surveillance capitalism. In reality he was/is a leader in understanding how, because UI/UX defines the reality and expectations of a user, it can itself influence their desires and expectations. He called that kind of social engineering through technological design "Captology".