Hasty Briefsbeta

What is "good taste" in software engineering?

3 hours ago
  • #engineering-values
  • #technical-taste
  • #software-engineering
  • Technical taste in software engineering is distinct from technical skill, similar to how one can appreciate good food without being able to cook.
  • Good taste in software involves recognizing what code looks good or bad, which design decisions feel right, and which problems are worth worrying about.
  • Taste is about aligning engineering values with the project's needs, rather than adhering to universal 'best practices.'
  • Engineering decisions often involve tradeoffs between values like resiliency, speed, readability, correctness, flexibility, portability, scalability, and development speed.
  • Bad taste manifests as inflexibility, where engineers push their preferred values regardless of the project's context, leading to poor outcomes.
  • Good taste is the ability to select the right engineering values for a specific problem, making it harder to identify than technical ability.
  • Developing good taste requires working on diverse projects, being flexible, and avoiding rigid opinions about the 'right' way to write software.