Entrepreneur and investor Paul Graham writes in an essay
that when you mention the concept of “taste,” which he defines as an appreciation for something well-designed or beautiful, a lot of people will react by saying: “taste is subjective.”
Believing that taste is merely a matter of personal preference may be a good way to prevent disputes, but it’s not true.
This realization becomes obvious once you start designing things yourself.
As with any job, as you continue to design things, you’ll get better at it. Your tastes will change, and you’ll notice the improvement. This suggests that your old tastes weren’t just different, but worse.
If you acknowledge that there is such a thing as good and bad design, then you can start to study good design in detail: How have your tastes changed? When you made mistakes, what caused you to make them?
For Graham, once you start to explore such questions, you’ll see the same principles of good design represented in different fields: from architecture and science, to music and writing.
Here are a few of those principles:
Good design is simple
You see this in a range of fields: from math to writing. In math, it means that a shorter proof tends to be a better one. In writing, it means say what you mean and say it briefly.
Graham notes that you would expect simplicity to be the default: “Ornate is more work.”
But something comes over people when they try to be creative. For example, beginning writers adopt a pompous that doesn’t sound anything like the way they speak.
As Graham points out, it’s all evasion: “When you’re forced to be simple, you’re forced to face the real problem. When you can’t deliver ornament, you have to deliver substance.”
Good design is redesign
It’s rare to get things right the first time. Experts expect some early work to fail: “They plan for plans to change.”
As Graham points out, it takes confidence to throw work away: “You have to be able to think, there’s more where that came from.”
It helps to acknowledge that mistakes are natural, and to make them easy to acknowledge and fix. For example, open-source software has fewer bugs because it admits the possibility of bugs.