I never considered quantity a worthwhile alternative goal, but maybe I should reconsider that. Thank you.
I never considered quantity a worthwhile alternative goal, but maybe I should reconsider that. Thank you.
It also leads to an issue with never really knowing what good code looks like, because we have to consider both the "it's still in development and therefore expected to be broken but easily debugged" state and the "it's in production and should be fast, reliable, practical" state. It can be great at one and not the other if the stakeholders aren't approaching it in a balanced way.
This works for games but when you get to payment systems, autopilot cars, and operating systems... Well it's not a good enough way of thinking. You need tools to help you think at a certain level of difficulty. Even for programmers we shamelessly glorify that level isn't very high... Yet hubris sometimes pushes us to make silly claims.
I cannot disagree that "practice makes perfect." That applies at so many levels. One has to be comfortable with throwing things away and trying again. Practice dutifully and intentionally. Then realize what you don't know and where your limits are and have the humility and boldness to find ways to reach beyond them.
If I want to complete a project, I make sure to scope a minimal set of features.
https://www.youtube.com/watch?v=4j4Q_YBRJEI
It works for a huge number of things two. Hmm I wonder if I can do this in 15 minutes, or I wonder how compact I can get this, or whatever as long as it's not abstract like make it pretty.
Quickly, you notice that perfectionism really doesn't work. Everything is about making compromises. And the "perfect" painter is the one making the best compromises.