I would appreciate any suggestions or advice on how to become stronger at this.
(Successfully) debugging complex systems seems to help. Although I don’t know how much of that is actual training and how much of that is survivor bias.
(Why does this help? I hypothesize that it’s because it’s unforgiving. If you come up with a beautiful generic null-set as a hypothesis, you haven’t actually made headway towards solving the problem… so you eventually give up, backtrack, and come up with a concrete hypothesis. You can’t avoid training yourself out of it, essentially, so long as a) you can discipline yourself to keep working on the problem and b) it’s a problem you’re capable of solving.)
(Successfully) debugging complex systems seems to help. Although I don’t know how much of that is actual training and how much of that is survivor bias.
(Why does this help? I hypothesize that it’s because it’s unforgiving. If you come up with a beautiful generic null-set as a hypothesis, you haven’t actually made headway towards solving the problem… so you eventually give up, backtrack, and come up with a concrete hypothesis. You can’t avoid training yourself out of it, essentially, so long as a) you can discipline yourself to keep working on the problem and b) it’s a problem you’re capable of solving.)