What is "good taste" in software engineering?
Briefly

"Technical taste is different from technical skill. You can be technically strong but have bad taste, or technically weak with good taste. Like taste in general, technical taste sometimes runs ahead of your ability: just like you can tell good food from bad without being able to cook, you can know what kind of software you like before you've got the ability to build it. You can develop technical ability by study and repetition, but good taste is developed in a more mysterious way."
"Here are some indicators of software taste: What kind of code "looks good" to you? What kind of code "looks ugly"? Which design decisions you feel really good about, and which ones are just fine? Which software problems really bother you, to the point where you're worrying about them outside of work? Which problems can you just brush off? I think taste is the ability to adopt the set of engineering values that fit your current project."
Technical taste differs from technical skill; one can be technically strong yet have poor taste, or technically weak with good taste. Taste can run ahead of ability: a person can recognize and prefer good software before having the ability to build it. Technical ability improves through study and repetition; good taste develops in a more mysterious way. Indicators of software taste include what code appears attractive or ugly, which design decisions feel deeply satisfying, and which problems cause persistent worry outside work. Taste is the ability to adopt the set of engineering values that best fit a project's constraints and goals. Taste shapes priorities and trade-offs.
Read at Seangoedecke
Unable to calculate read time
[
|
]