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.