- Worse is better: https://en.wikipedia.org/wiki/Worse_is_better
- Intelligence is compression (at least in one perspective) https://youtu.be/izqSvm-YAww?t=376
- Many smart developers try to reduce code, not multiply it: https://github.com/geohot/tinygrad https://github.com/karpathy/nanoGPT
- Satisficing https://en.wikipedia.org/wiki/Satisficing
- Perfect is the enemy of good https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good
A perfectionist engineer optimizes their code to represent reality perfectly and wastes a lot of time along the way. Their objective function is the discrepancy between the code and reality, and they try to minimize that.
You can offer alternative objective functions:
- Minimize time to implement a requested feature
- Maximize survivability of the company
A good engineer is one that finds the right trade-off between "the right thing" which might be deadly for the company and "the worse thing" which enables the company to develop features fast and remain competitive.
At least, these are the arguments I use on myself to prevent myself from overengineering.