We aim for good-enough, not perfection #

Every task operates in a certain context and we understand that. We can write perfectly clean, extendable, and maintainable code given infinite resources but we don’t have infinite resources. Countless hours have been sacrificed at the altar of perfectionism to no one’s benefit. For that reason, we aim to be good-enough, not perfect.

Before beginning any task, understand the tradeoffs you need to make. There are times for writing performant code and there is a time for quickly delivering the MVP. After all, the “perfect code” that arrives too late will probably never see the light of the day.