I’ve heard this lil story before but honestly both strategies are really dependent on the situation.
There might be situations where’d you want to continually churn out pots. In other situations, pressure is really high, and you have one shot to get it right.
Both strategies depend on the context. If anything, the best approach is to figure out which strategy is needed for the given situation. I would imagine, strategy of churning out pots is the most common one.
But safety critical systems certainly need that pot to be right the first time otherwise people die.
Yea, sometimes if the stakes are high enough you may have to get it right without multiple attempts.
Depending on your time constraints, the tips given here seem to apply particularly well: find proxy problems that allows you to learn without as much hardship would be a good idea, as well as the other strategies of breaking it down, etc.
Sometimes time is not on your side though, and you have to get it right without time to practice on proxy problems (at least I believe this can occur).
Then you can use what I call it the 'Kitchen sink' approach: grab a bunch of tools, a bunch of approaches and start digesting your problem through as many viewpoints as possible. If your problem has safety implications and you can verify it, then well enough. Otherwise you make an attempt if you are sufficiently confident in your solution; and take some kind of NOP otherwise (if a guaranteed 0-return NOP even exists).
Also, if you're solving something while time constrained, you may need to reflect afterwards if you could have either prevented the time constraint or prepared better somehow.
In general though, there's hope in the sense that if something is verifiable or approximately-verifiable you can approach good solutions with time. At least I have high hopes of always finding a solution given enough time (i.e. "You're not good enough" does not exist).
That's only not applicable if your time is finite or in the same vein you need to improve a skill to apply a series of finite-time decisions. Eh who cares about finite time anyway? :P
(Yes, in reality everything is limited but there are plenty of tasks you can take your time with...)
There might be situations where’d you want to continually churn out pots. In other situations, pressure is really high, and you have one shot to get it right.
Both strategies depend on the context. If anything, the best approach is to figure out which strategy is needed for the given situation. I would imagine, strategy of churning out pots is the most common one.
But safety critical systems certainly need that pot to be right the first time otherwise people die.