Comment by sebastianmestre

13 hours ago

I did competitive programming seriously between '17 and '24, then kept on coaching people

As a beginner I often thought about a problem for days before finding a solution, but this happened less and less as I improved

I got better at exploiting the things I knew, to the point where I could be pretty confident that if I couldn't solve a problem in a few hours it was because I was missing some important piece of theory

I think spending days "sitting with" a problem just points at your own weakness in solving some class of problems.

If you are making no articulable progress whatsoever, there is a pathology in your process.

Even when working on my thesis, where I would often "get stuck" because the problem was far beyond what I could solve in one sitting, I was still making progress in some direction every time.

Do you mean that sitting with the problem for days is a weakness that you should fix since you're wasting time making no progress? Or that it is a necessary practice in order to understand your weaknesses?

  • When you're a beginner you're a beginner, no way around it.

    But understanding your weaknesses and working on them is huge, and I think most people just don't try to do it.

    Being stuck for days is something to be overcome.

    The next step would be being slow because you are trying out many different ideas and have no intuition for what the right one is.